1100 |
Is it is possible to exclude the non-working days when displaying the histogram using the exBarEffort for exHistOverAllocation type
with G2antt1 do begin BeginUpdate(); Columns.Add('Tasks'); with Chart do begin LevelCount := 2; PaneWidth[False] := 40; FirstVisibleDate := '6/20/2005'; HistogramVisible := True; HistogramHeight := 64; HistogramView := EXG2ANTTLib_TLB.exHistogramAllItems; with Bars.Item['Split'] do begin Pattern := EXG2ANTTLib_TLB.exPatternBDiagonal; Shape := EXG2ANTTLib_TLB.exShapeThinUp; Color := $800000; end; with Bars.Add('Task:Split') do begin Color := $800000; Shortcut := 'WorkingTask'; Pattern := EXG2ANTTLib_TLB.exPatternBDiagonal; HistogramPattern := EXG2ANTTLib_TLB.exPatternBDiagonal; HistogramType := EXG2ANTTLib_TLB.exHistOverAllocation; end; with Bars.Item['Task'] do begin Color := $ff0000; Pattern := EXG2ANTTLib_TLB.exPatternFDiagonal; HistogramType := EXG2ANTTLib_TLB.exHistOverAllocation; HistogramPattern := EXG2ANTTLib_TLB.exPatternFDiagonal; end; end; with Items do begin h := AddItem('True'); AddBar(h,'WorkingTask','6/23/2005','6/29/2005',Null,Null); ItemBar[h,'',EXG2ANTTLib_TLB.exBarEffort] := OleVariant(4); ItemBar[h,'',EXG2ANTTLib_TLB.exBarKeepWorkingCount] := OleVariant(True); h := AddItem('False'); AddBar(h,'Task','6/23/2005','6/29/2005',Null,Null); ItemBar[h,'',EXG2ANTTLib_TLB.exBarEffort] := OleVariant(4); ItemBar[h,'',EXG2ANTTLib_TLB.exBarKeepWorkingCount] := OleVariant(False); end; EndUpdate(); end |
1099 |
I display numbers in my chart, but the AddBar requires a date how can I add a bar
with G2antt1 do begin BeginUpdate(); Columns.Add('Tasks'); with Chart do begin PaneWidth[False] := 0; NonworkingDays := 0; FirstVisibleDate := OleVariant(0); ToolTip := ''; with Level[0] do begin Label := '<%i%>'; ToolTip := ''; end; UnitWidth := 24; end; with Items do begin AddBar(AddItem('Task 1'),'Task',OleVariant(2),OleVariant(4),Null,Null); AddBar(AddItem('Task 2'),'Task',OleVariant(6),OleVariant(10),Null,Null); end; EndUpdate(); end |
1098 |
I display numbers in the chart's header but do not want to get displayed negative numbers. How can i do that
// DateChange event - Occurs when the first visible date is changed. procedure TForm1.G2antt1DateChange(ASender: TObject; ); begin with G2antt1 do begin Chart.FirstVisibleDate := OleVariant(0); ScrollPartEnable[EXG2ANTTLib_TLB.exHChartScroll,EXG2ANTTLib_TLB.exLeftBPart] := False; end end; with G2antt1 do begin BeginUpdate(); with Chart do begin PaneWidth[False] := 0; NonworkingDays := 0; FirstVisibleDate := OleVariant(0); ToolTip := ''; with Level[0] do begin Label := '<%i%>'; ToolTip := '<%i%>'; end; UnitWidth := 24; end; EndUpdate(); end |
1097 |
How can I display numbers in the chart's header instead dates
with G2antt1 do begin BeginUpdate(); with Chart do begin PaneWidth[False] := 0; NonworkingDays := 0; FirstVisibleDate := OleVariant(0); ToolTip := ''; with Level[0] do begin Label := '<%i%>'; ToolTip := ''; end; UnitWidth := 24; end; EndUpdate(); end |
1096 |
How can I create a bar that's not sizable, or can not be resized by default similar with milestone
with G2antt1 do begin BeginUpdate(); Columns.Add('Task'); with Chart do begin PaneWidth[False] := 0; FirstVisibleDate := '12/24/2000'; LevelCount := 2; with Bars.Add('Custom') do begin Shape := EXG2ANTTLib_TLB.exShapeEmpty; StartShape := EXG2ANTTLib_TLB.exShapeIconUp1; EndShape := EXG2ANTTLib_TLB.exShapeIconEmpty; end; end; with Items do begin AddBar(AddItem(''),'Custom','1/2/2001','1/2/2001','K1','This TYPE of bar can not be resized.'); end; EndUpdate(); end |
1095 |
Is it possible to hide the non-working parts for items using the ItemNonworkingUnits, even if set the ShowNonworkingUnits, ShowNonworkingDates on False
with G2antt1 do begin BeginUpdate(); Columns.Add('Task'); with Chart do begin Bars.Add('Task:Split').Shortcut := 'Task'; FirstVisibleDate := '12/27/2000'; PaneWidth[False] := 64; LevelCount := 2; ShowNonworkingUnits := False; ShowNonworkingDates := False; NonworkingDaysPattern := EXG2ANTTLib_TLB.exPatternEmpty; end; with Items do begin h1 := AddItem('Task 1'); AddBar(h1,'Task','1/2/2001','1/4/2001','K1',Null); h2 := AddItem('Task 2'); ItemNonworkingUnits[h2,OleVariant(False)] := 'weekday(value) = 1'; AddBar(h2,'Task','1/4/2001','1/6/2001','K2',Null); AddLink('L1',h1,'K1',h2,'K2'); h3 := AddItem('Task 3'); AddBar(h3,'Task','1/8/2001','1/10/2001','K3',Null); AddLink('L2',h2,'K2',h3,'K3'); end; EndUpdate(); end |
1094 |
Is it possible to show the non-working parts for certain items, even if I hide the default non-working part
with G2antt1 do begin BeginUpdate(); Columns.Add('Task'); with Chart do begin Bars.Add('Task:Split').Shortcut := 'Task'; FirstVisibleDate := '12/27/2000'; PaneWidth[False] := 64; LevelCount := 2; ShowNonworkingUnits := False; ShowNonworkingDates := False; end; with Items do begin h1 := AddItem('Task 1'); AddBar(h1,'Task','1/2/2001','1/4/2001','K1',Null); h2 := AddItem('Task 2'); ItemNonworkingUnits[h2,OleVariant(False)] := 'weekday(value) = 1'; AddBar(h2,'Task','1/4/2001','1/6/2001','K2',Null); AddLink('L1',h1,'K1',h2,'K2'); h3 := AddItem('Task 3'); AddBar(h3,'Task','1/8/2001','1/10/2001','K3',Null); AddLink('L2',h2,'K2',h3,'K3'); end; EndUpdate(); end |
1093 |
How can I hide the non-working part of the chart
with G2antt1 do begin BeginUpdate(); with Chart do begin FirstVisibleDate := '1/1/2008'; PaneWidth[False] := 0; LevelCount := 2; ShowNonworkingUnits := False; ShowNonworkingDates := False; end; EndUpdate(); end |
1092 |
Is it possible to let users selects cells as in Excel
with G2antt1 do begin BeginUpdate(); FullRowSelect := EXG2ANTTLib_TLB.exRectSel; SingleSel := False; ReadOnly := EXG2ANTTLib_TLB.exReadOnly; MarkSearchColumn := False; ShowFocusRect := False; LinesAtRoot := EXG2ANTTLib_TLB.exLinesAtRoot; SelForeColor := RGB(0,0,0); SelBackColor := RGB(200,225,242); with Columns do begin Add('A'); with (IUnknown(Add('B')) as EXG2ANTTLib_TLB.Column) do begin AllowSizing := False; Width := 24; end; with (IUnknown(Add('C')) as EXG2ANTTLib_TLB.Column) do begin AllowSizing := False; Width := 24; Def[EXG2ANTTLib_TLB.exCellHasCheckBox] := OleVariant(1); PartialCheck := True; end; with (IUnknown(Add('D')) as EXG2ANTTLib_TLB.Column) do begin AllowSizing := False; Width := 24; Def[EXG2ANTTLib_TLB.exCellHasRadioButton] := OleVariant(1); end; end; with Items do begin h := InsertItem(Null,Null,'Group 1'); h1 := InsertItem(h,Null,OleVariant(16)); CellValue[OleVariant(h1),OleVariant(1)] := OleVariant(17); h1 := InsertItem(h,Null,OleVariant(2)); CellValue[OleVariant(h1),OleVariant(1)] := OleVariant(11); h1 := InsertItem(h,Null,OleVariant(2)); ItemBackColor[h1] := $f0f0f0; CellValue[OleVariant(h1),OleVariant(1)] := OleVariant(9); ExpandItem[h] := True; h := InsertItem(Null,Null,'Group 2'); CellValueFormat[OleVariant(h),OleVariant(2)] := EXG2ANTTLib_TLB.exHTML; h1 := InsertItem(h,Null,OleVariant(16)); CellValue[OleVariant(h1),OleVariant(1)] := OleVariant(9); h1 := InsertItem(h,Null,OleVariant(12)); CellValue[OleVariant(h1),OleVariant(1)] := OleVariant(11); h1 := InsertItem(h,Null,OleVariant(2)); CellValue[OleVariant(h1),OleVariant(1)] := OleVariant(2); ExpandItem[h] := True; SelectItem[h] := True; end; EndUpdate(); end |
1091 |
How can I hide a date from the chart view
with G2antt1 do begin BeginUpdate(); with Chart do begin FirstVisibleDate := '1/1/2008'; PaneWidth[False] := 0; LevelCount := 2; AllowInsideZoom := True; AllowResizeInsideZoom := False; InsideZoomOnDblClick := False; with InsideZooms do begin SplitBaseLevel := False; DefaultWidth := 0; Add('1/4/2008'); Add('1/5/2008'); Add('1/6/2008'); end; SelectLevel := 1; SelectDate['1/5/2008'] := True; end; EndUpdate(); end |
1090 |
Can the SchedulePDM displays and edit the working units for my bars
// BarResizing event - Occurs when a bar is moving or resizing. procedure TForm1.G2antt1BarResizing(ASender: TObject; Item : HITEM;Key : OleVariant); begin with G2antt1 do begin Items.SchedulePDM(Item,OleVariant(Key)); end end; with G2antt1 do begin BeginUpdate(); Items.AllowCellValueToItemBar := True; Columns.Add('Task'); with (IUnknown(Columns.Add('Working')) as EXG2ANTTLib_TLB.Column) do begin Def[EXG2ANTTLib_TLB.exCellValueToItemBarProperty] := OleVariant(258); Editor.EditType := EXG2ANTTLib_TLB.SpinType; end; with Chart do begin Bars.Add('Task:Split').Shortcut := 'Task'; FirstVisibleDate := '12/28/2000'; PaneWidth[False] := 96; AllowLinkBars := False; AllowCreateBar := EXG2ANTTLib_TLB.exNoCreateBar; end; with Items do begin h1 := AddItem('Task 1'); AddBar(h1,'Task','1/2/2001','1/4/2001','',Null); h2 := AddItem('Task 2'); AddBar(h2,'Task','1/2/2001','1/4/2001','',Null); AddLink('L1',h1,'',h2,''); h3 := AddItem('Task 3'); AddBar(h3,'Task','1/2/2001','1/6/2001','',Null); AddLink('L2',h2,'',h3,''); Link['L2',EXG2ANTTLib_TLB.exLinkText] := 'FF'; Link['L2',EXG2ANTTLib_TLB.exLinkStartPos] := OleVariant(2); Link['L2',EXG2ANTTLib_TLB.exLinkEndPos] := OleVariant(2); h4 := AddItem('Task 4'); AddBar(h4,'Task','1/2/2001','1/4/2001','',Null); AddLink('L3',h4,'',h3,''); ItemBar[0,'<*>',EXG2ANTTLib_TLB.exBarKeepWorkingCount] := OleVariant(True); SchedulePDM(FirstVisibleItem,''); end; EndUpdate(); end |
1089 |
Can the SchedulePDM displays the working units for my bars
// BarResizing event - Occurs when a bar is moving or resizing. procedure TForm1.G2antt1BarResizing(ASender: TObject; Item : HITEM;Key : OleVariant); begin with G2antt1 do begin Items.SchedulePDM(Item,OleVariant(Key)); end end; with G2antt1 do begin BeginUpdate(); Items.AllowCellValueToItemBar := True; Columns.Add('Task'); (IUnknown(Columns.Add('Working')) as EXG2ANTTLib_TLB.Column).Def[EXG2ANTTLib_TLB.exCellValueToItemBarProperty] := OleVariant(258); with Chart do begin Bars.Add('Task:Split').Shortcut := 'Task'; FirstVisibleDate := '12/28/2000'; PaneWidth[False] := 96; AllowLinkBars := False; AllowCreateBar := EXG2ANTTLib_TLB.exNoCreateBar; end; with Items do begin h1 := AddItem('Task 1'); AddBar(h1,'Task','1/2/2001','1/4/2001','',Null); h2 := AddItem('Task 2'); AddBar(h2,'Task','1/2/2001','1/4/2001','',Null); AddLink('L1',h1,'',h2,''); h3 := AddItem('Task 3'); AddBar(h3,'Task','1/2/2001','1/6/2001','',Null); AddLink('L2',h2,'',h3,''); Link['L2',EXG2ANTTLib_TLB.exLinkText] := 'FF'; Link['L2',EXG2ANTTLib_TLB.exLinkStartPos] := OleVariant(2); Link['L2',EXG2ANTTLib_TLB.exLinkEndPos] := OleVariant(2); h4 := AddItem('Task 4'); AddBar(h4,'Task','1/2/2001','1/4/2001','',Null); AddLink('L3',h4,'',h3,''); ItemBar[0,'<*>',EXG2ANTTLib_TLB.exBarKeepWorkingCount] := OleVariant(True); SchedulePDM(FirstVisibleItem,''); end; EndUpdate(); end |
1088 |
Can the SchedulePDM keeps the working units for my bars
// BarResizing event - Occurs when a bar is moving or resizing. procedure TForm1.G2antt1BarResizing(ASender: TObject; Item : HITEM;Key : OleVariant); begin with G2antt1 do begin Items.SchedulePDM(Item,OleVariant(Key)); end end; with G2antt1 do begin BeginUpdate(); Columns.Add('Task'); with Chart do begin Bars.Add('Task:Split').Shortcut := 'Task'; FirstVisibleDate := '12/28/2000'; PaneWidth[False] := 48; AllowLinkBars := False; AllowCreateBar := EXG2ANTTLib_TLB.exNoCreateBar; end; with Items do begin h1 := AddItem('Task 1'); AddBar(h1,'Task','1/2/2001','1/4/2001','K1',Null); h2 := AddItem('Task 2'); AddBar(h2,'Task','1/2/2001','1/4/2001','K2',Null); AddLink('L1',h1,'K1',h2,'K2'); h3 := AddItem('Task 3'); AddBar(h3,'Task','1/2/2001','1/6/2001','K3',Null); AddLink('L2',h2,'K2',h3,'K3'); Link['L2',EXG2ANTTLib_TLB.exLinkText] := 'FF'; Link['L2',EXG2ANTTLib_TLB.exLinkStartPos] := OleVariant(2); Link['L2',EXG2ANTTLib_TLB.exLinkEndPos] := OleVariant(2); h4 := AddItem('Task 4'); AddBar(h4,'Task','1/2/2001','1/4/2001','K4',Null); AddLink('L3',h4,'K4',h3,'K3'); ItemBar[0,'<*>',EXG2ANTTLib_TLB.exBarKeepWorkingCount] := OleVariant(True); SchedulePDM(0,'K1'); end; EndUpdate(); end |
1087 |
How can I arrange automatically the bars based on their links as soon as user moves the bars
// BarResizing event - Occurs when a bar is moving or resizing. procedure TForm1.G2antt1BarResizing(ASender: TObject; Item : HITEM;Key : OleVariant); begin with G2antt1 do begin Items.SchedulePDM(Item,OleVariant(Key)); end end; with G2antt1 do begin BeginUpdate(); Columns.Add('Task'); with Chart do begin FirstVisibleDate := '12/28/2000'; PaneWidth[False] := 48; AllowLinkBars := False; AllowCreateBar := EXG2ANTTLib_TLB.exNoCreateBar; end; with Items do begin h1 := AddItem('Task 1'); AddBar(h1,'Task','1/2/2001','1/4/2001','K1',Null); h2 := AddItem('Task 2'); AddBar(h2,'Task','1/2/2001','1/4/2001','K2',Null); AddLink('L1',h1,'K1',h2,'K2'); h3 := AddItem('Task 3'); AddBar(h3,'Task','1/2/2001','1/6/2001','K3',Null); AddLink('L2',h2,'K2',h3,'K3'); Link['L2',EXG2ANTTLib_TLB.exLinkText] := 'FF'; Link['L2',EXG2ANTTLib_TLB.exLinkStartPos] := OleVariant(2); Link['L2',EXG2ANTTLib_TLB.exLinkEndPos] := OleVariant(2); h4 := AddItem('Task 4'); AddBar(h4,'Task','1/2/2001','1/4/2001','K4',Null); AddLink('L3',h4,'K4',h3,'K3'); SchedulePDM(0,'K1'); end; EndUpdate(); end |
1086 |
How can I arrange automatically the bars based on their links as soon as user moves the bars
// BarResize event - Occurs when a bar is moved or resized. procedure TForm1.G2antt1BarResize(ASender: TObject; Item : HITEM;Key : OleVariant); begin with G2antt1 do begin Items.SchedulePDM(Item,OleVariant(Key)); end end; with G2antt1 do begin BeginUpdate(); Columns.Add('Task'); with Chart do begin FirstVisibleDate := '1/1/2001'; PaneWidth[False] := 48; AllowLinkBars := False; AllowCreateBar := EXG2ANTTLib_TLB.exNoCreateBar; end; with Items do begin h1 := AddItem('Task 1'); AddBar(h1,'Task','1/2/2001','1/4/2001','K1',Null); h2 := AddItem('Task 2'); AddBar(h2,'Task','1/2/2001','1/4/2001','K2',Null); AddLink('L1',h1,'K1',h2,'K2'); h3 := AddItem('Task 3'); AddBar(h3,'Task','1/2/2001','1/4/2001','K3',Null); AddLink('L2',h2,'K2',h3,'K3'); SchedulePDM(0,'K1'); end; EndUpdate(); end |
1085 |
I have some buttons added on the control's scroll bar, how can I can know when the button is being clicked
// ScrollButtonClick event - Occurs when the user clicks a button in the scrollbar. procedure TForm1.G2antt1ScrollButtonClick(ASender: TObject; ScrollBar : ScrollBarEnum;ScrollPart : ScrollPartEnum); begin with G2antt1 do begin OutputDebugString( ScrollBar ); OutputDebugString( ScrollPart ); end end; with G2antt1 do begin ScrollPartVisible[EXG2ANTTLib_TLB.exHScroll,EXG2ANTTLib_TLB.exLeftB1Part] := True; ScrollPartVisible[EXG2ANTTLib_TLB.exHScroll,EXG2ANTTLib_TLB.exLeftB2Part] := True; ScrollPartVisible[EXG2ANTTLib_TLB.exHScroll,EXG2ANTTLib_TLB.exRightB6Part] := True; ScrollPartVisible[EXG2ANTTLib_TLB.exHScroll,EXG2ANTTLib_TLB.exRightB5Part] := True; ScrollBars := EXG2ANTTLib_TLB.exDisableNoHorizontal; end |
1084 |
How do I get notified once the user clicks a hyperlink created using the anchor HTML tag
// AnchorClick event - Occurs when an anchor element is clicked. procedure TForm1.G2antt1AnchorClick(ASender: TObject; AnchorID : WideString;Options : WideString); begin with G2antt1 do begin OutputDebugString( AnchorID ); OutputDebugString( Options ); end end; with G2antt1 do begin (IUnknown(Columns.Add('Default')) as EXG2ANTTLib_TLB.Column).Def[EXG2ANTTLib_TLB.exCellValueFormat] := OleVariant(1); with Items do begin AddItem('This is a link: <aex.com;1>www.exontrol.com</a>'); AddItem('This is a link: <aex.net;2>www.exontrol.net</a>'); end; end |
1083 |
Is it possible to start editing a cell when double click it
// DblClick event - Occurs when the user dblclk the left mouse button over an object. procedure TForm1.G2antt1DblClick(ASender: TObject; Shift : Smallint;X : Integer;Y : Integer); begin with G2antt1 do begin Edit(Null); end end; with G2antt1 do begin BeginUpdate(); AutoEdit := False; MarkSearchColumn := False; (IUnknown(Columns.Add('Edit1')) as EXG2ANTTLib_TLB.Column).Editor.EditType := EXG2ANTTLib_TLB.EditType; (IUnknown(Columns.Add('Edit2')) as EXG2ANTTLib_TLB.Column).Editor.EditType := EXG2ANTTLib_TLB.EditType; with Items do begin CellValue[OleVariant(AddItem(OleVariant(1))),OleVariant(1)] := OleVariant(2); end; with Items do begin CellValue[OleVariant(AddItem(OleVariant(3))),OleVariant(1)] := OleVariant(4); end; EndUpdate(); end |
1082 |
Is it possible to disable standard single-click behavior for this column, so I manually could call Edit() when needed
// DblClick event - Occurs when the user dblclk the left mouse button over an object. procedure TForm1.G2antt1DblClick(ASender: TObject; Shift : Smallint;X : Integer;Y : Integer); begin with G2antt1 do begin Edit(Null); end end; with G2antt1 do begin BeginUpdate(); AutoEdit := False; MarkSearchColumn := False; (IUnknown(Columns.Add('Edit1')) as EXG2ANTTLib_TLB.Column).Editor.EditType := EXG2ANTTLib_TLB.EditType; (IUnknown(Columns.Add('Edit2')) as EXG2ANTTLib_TLB.Column).Editor.EditType := EXG2ANTTLib_TLB.EditType; with Items do begin CellValue[OleVariant(AddItem(OleVariant(1))),OleVariant(1)] := OleVariant(2); end; with Items do begin CellValue[OleVariant(AddItem(OleVariant(3))),OleVariant(1)] := OleVariant(4); end; EndUpdate(); end |
1081 |
How can I get or restore the old or previously value for the cell being changed
// Change event - Occurs when the user changes the cell's content. procedure TForm1.G2antt1Change(ASender: TObject; Item : HITEM;ColIndex : Integer;var NewValue : OleVariant); begin with G2antt1 do begin OutputDebugString( 'Old-Value:' ); OutputDebugString( Items.CellValue[OleVariant(Item),OleVariant(ColIndex)] ); OutputDebugString( 'New-Value:' ); OutputDebugString( NewValue ); end end; with G2antt1 do begin BeginUpdate(); MarkSearchColumn := False; (IUnknown(Columns.Add('Edit1')) as EXG2ANTTLib_TLB.Column).Editor.EditType := EXG2ANTTLib_TLB.EditType; (IUnknown(Columns.Add('Edit2')) as EXG2ANTTLib_TLB.Column).Editor.EditType := EXG2ANTTLib_TLB.EditType; with Items do begin CellValue[OleVariant(AddItem(OleVariant(1))),OleVariant(1)] := OleVariant(2); end; with Items do begin CellValue[OleVariant(AddItem(OleVariant(3))),OleVariant(1)] := OleVariant(4); end; EndUpdate(); end |
1080 |
How can I display the number of items being found after filtering
// FilterChange event - Occurs when the filter was changed. procedure TForm1.G2antt1FilterChange(ASender: TObject; ); begin with G2antt1 do begin FilterBarCaption := Items.VisibleCount; end end; with G2antt1 do begin BeginUpdate(); Chart.PaneWidth[True] := 0; ColumnAutoResize := True; ContinueColumnScroll := False; FocusColumnIndex := 1; MarkSearchColumn := False; SearchColumnIndex := 1; FilterBarPromptVisible := True; FilterBarPromptType := EXG2ANTTLib_TLB.exFilterPromptContainsAll; FilterBarPromptPattern := 'london'; with Columns do begin (IUnknown(Add('Name')) as EXG2ANTTLib_TLB.Column).Width := 96; (IUnknown(Add('Title')) as EXG2ANTTLib_TLB.Column).Width := 96; Add('City'); end; with Items do begin h0 := AddItem('Nancy Davolio'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'Seattle'; h0 := AddItem('Andrew Fuller'); CellValue[OleVariant(h0),OleVariant(1)] := 'Vice President, Sales'; CellValue[OleVariant(h0),OleVariant(2)] := 'Tacoma'; SelectItem[h0] := True; h0 := AddItem('Janet Leverling'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'Kirkland'; h0 := AddItem('Margaret Peacock'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'Redmond'; h0 := AddItem('Steven Buchanan'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Manager'; CellValue[OleVariant(h0),OleVariant(2)] := 'London'; h0 := AddItem('Michael Suyama'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'London'; h0 := AddItem('Robert King'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'London'; h0 := AddItem('Laura Callahan'); CellValue[OleVariant(h0),OleVariant(1)] := 'Inside Sales Coordinator'; CellValue[OleVariant(h0),OleVariant(2)] := 'Seattle'; h0 := AddItem('Anne Dodsworth'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'London'; end; EndUpdate(); end |
1079 |
How can I highligth the item from the cursor as it moves
// MouseMove event - Occurs when the user moves the mouse. procedure TForm1.G2antt1MouseMove(ASender: TObject; Button : Smallint;Shift : Smallint;X : Integer;Y : Integer); begin with G2antt1 do begin BeginUpdate(); h := ItemFromPoint[-1,-1,c,hit]; with Items do begin ClearItemBackColor(G2antt1.Background[EXG2ANTTLib_TLB.BackgroundPartEnum($200 Or Integer(EXG2ANTTLib_TLB.exHSRight) Or Integer(EXG2ANTTLib_TLB.exListOLEDropPosition))]); ItemBackColor[h] := $f0faf0; end; Background[EXG2ANTTLib_TLB.BackgroundPartEnum($200 Or Integer(EXG2ANTTLib_TLB.exHSRight) Or Integer(EXG2ANTTLib_TLB.exListOLEDropPosition))] := h; EndUpdate(); end end; with G2antt1 do begin BeginUpdate(); LinesAtRoot := EXG2ANTTLib_TLB.exLinesAtRoot; DrawGridLines := EXG2ANTTLib_TLB.exHLines; SelBackColor := RGB(240,250,240); SelForeColor := RGB(0,0,0); ShowFocusRect := False; with Chart do begin SelBackColor := $f0faf0; end; Columns.Add('Items'); with Items do begin h := AddItem('R1'); InsertItem(h,Null,'Cell 1.1'); InsertItem(h,Null,'Cell 1.2'); ExpandItem[h] := True; h := AddItem('R2'); InsertItem(h,Null,'Cell 2.1'); InsertItem(h,Null,'Cell 2.2'); ExpandItem[h] := True; end; EndUpdate(); end |
1078 |
How can I get the item from the cursor
// MouseMove event - Occurs when the user moves the mouse. procedure TForm1.G2antt1MouseMove(ASender: TObject; Button : Smallint;Shift : Smallint;X : Integer;Y : Integer); begin with G2antt1 do begin h := ItemFromPoint[-1,-1,c,hit]; OutputDebugString( 'Handle' ); OutputDebugString( h ); OutputDebugString( 'Index' ); OutputDebugString( Items.ItemToIndex[h] ); end end; with G2antt1 do begin BeginUpdate(); LinesAtRoot := EXG2ANTTLib_TLB.exLinesAtRoot; DrawGridLines := EXG2ANTTLib_TLB.exHLines; Columns.Add('Items'); with Items do begin h := AddItem('R1'); InsertItem(h,Null,'Cell 1.1'); InsertItem(h,Null,'Cell 1.2'); ExpandItem[h] := True; h := AddItem('R2'); InsertItem(h,Null,'Cell 2.1'); InsertItem(h,Null,'Cell 2.2'); ExpandItem[h] := True; end; EndUpdate(); end |
1077 |
How can I get the column from the cursor, not only in the header
// MouseMove event - Occurs when the user moves the mouse. procedure TForm1.G2antt1MouseMove(ASender: TObject; Button : Smallint;Shift : Smallint;X : Integer;Y : Integer); begin with G2antt1 do begin OutputDebugString( ColumnFromPoint[-1,0] ); end end; with G2antt1 do begin BeginUpdate(); LinesAtRoot := EXG2ANTTLib_TLB.exLinesAtRoot; Columns.Add('P1'); Columns.Add('P2'); DrawGridLines := EXG2ANTTLib_TLB.exAllLines; with Items do begin h := AddItem('R1'); CellValue[OleVariant(h),OleVariant(1)] := 'R2'; CellValue[OleVariant(InsertItem(h,Null,'Cell 1.1')),OleVariant(1)] := 'Cell 1.2'; CellValue[OleVariant(InsertItem(h,Null,'Cell 2.1')),OleVariant(1)] := 'Cell 2.2'; ExpandItem[h] := True; end; EndUpdate(); end |
1076 |
How can I get the column from the cursor
// MouseMove event - Occurs when the user moves the mouse. procedure TForm1.G2antt1MouseMove(ASender: TObject; Button : Smallint;Shift : Smallint;X : Integer;Y : Integer); begin with G2antt1 do begin OutputDebugString( ColumnFromPoint[-1,-1] ); end end; with G2antt1 do begin BeginUpdate(); LinesAtRoot := EXG2ANTTLib_TLB.exLinesAtRoot; DrawGridLines := EXG2ANTTLib_TLB.exAllLines; Columns.Add('P1'); Columns.Add('P2'); with Items do begin h := AddItem('R1'); CellValue[OleVariant(h),OleVariant(1)] := 'R2'; CellValue[OleVariant(InsertItem(h,Null,'Cell 1.1')),OleVariant(1)] := 'Cell 1.2'; CellValue[OleVariant(InsertItem(h,Null,'Cell 2.1')),OleVariant(1)] := 'Cell 2.2'; ExpandItem[h] := True; end; EndUpdate(); end |
1075 |
How can I get the cell's caption from the cursor
// MouseMove event - Occurs when the user moves the mouse. procedure TForm1.G2antt1MouseMove(ASender: TObject; Button : Smallint;Shift : Smallint;X : Integer;Y : Integer); begin with G2antt1 do begin h := ItemFromPoint[-1,-1,c,hit]; OutputDebugString( Items.CellCaption[OleVariant(h),OleVariant(c)] ); end end; with G2antt1 do begin BeginUpdate(); LinesAtRoot := EXG2ANTTLib_TLB.exLinesAtRoot; Columns.Add('Items'); with Items do begin h := AddItem('R1'); InsertItem(h,Null,'Cell 1.1'); InsertItem(h,Null,'Cell 1.2'); ExpandItem[h] := True; h := AddItem('R2'); InsertItem(h,Null,'Cell 2.1'); InsertItem(h,Null,'Cell 2.2'); ExpandItem[h] := True; end; EndUpdate(); end |
1074 |
Is it possible to change the style for the vertical or horizontal grid lines, in the list area
with G2antt1 do begin BeginUpdate(); DrawGridLines := EXG2ANTTLib_TLB.exAllLines; GridLineStyle := Integer(EXG2ANTTLib_TLB.exGridLinesVSolid) Or Integer(EXG2ANTTLib_TLB.exGridLinesHDot4); Columns.Add('C1'); Columns.Add('C2'); Columns.Add('C3'); with Items do begin h := AddItem('Item 1'); CellValue[OleVariant(h),OleVariant(1)] := 'SubItem 1.2'; CellValue[OleVariant(h),OleVariant(2)] := 'SubItem 1.3'; h := AddItem('Item 2'); CellValue[OleVariant(h),OleVariant(1)] := 'SubItem 2.2'; CellValue[OleVariant(h),OleVariant(2)] := 'SubItem 2.3'; end; EndUpdate(); end |
1073 |
How can I show the bars over the grid lines, i.e. so you cannot see the grid lines 'through' the bar
with G2antt1 do begin BeginUpdate(); DrawGridLines := EXG2ANTTLib_TLB.exAllLines; GridLineColor := RGB(220,220,220); with Chart do begin PaneWidth[False] := 48; FirstVisibleDate := '1/1/2001'; DrawGridLines := EXG2ANTTLib_TLB.exAllLines; GridLineStyle := EXG2ANTTLib_TLB.exGridLinesBehind; LevelCount := 2; with Level[1] do begin DrawGridLines := True; GridLineColor := $dcdcdc; end; with Bars.Item['Task'] do begin Pattern := EXG2ANTTLib_TLB.exPatternSolid; Height := 14; end; end; Columns.Add('Column'); with Items do begin h := AddItem('Item 1'); AddBar(h,'Task','1/2/2001','1/5/2001','A',Null); AddBar(h,'Task','1/8/2001','1/15/2001','B',Null); end; EndUpdate(); end |
1072 |
Is it possible to change the style for the vertical grid lines, in the chart area only
with G2antt1 do begin BeginUpdate(); DrawGridLines := EXG2ANTTLib_TLB.exAllLines; GridLineStyle := EXG2ANTTLib_TLB.exGridLinesDash; with Chart do begin PaneWidth[False] := 48; FirstVisibleDate := '1/1/2001'; DrawGridLines := EXG2ANTTLib_TLB.exAllLines; GridLineStyle := EXG2ANTTLib_TLB.exGridLinesDash; LevelCount := 2; Level[1].DrawGridLines := True; with Level[0] do begin GridLineColor := $ff; GridLineStyle := EXG2ANTTLib_TLB.exGridLinesVSolid; end; Bars.Item['Task'].Pattern := EXG2ANTTLib_TLB.exPatternSolid; end; Columns.Add('Column'); with Items do begin h := AddItem('Item 1'); AddBar(h,'Task','1/2/2001','1/5/2001','A',Null); AddBar(h,'Task','1/8/2001','1/15/2001','B',Null); end; EndUpdate(); end |
1071 |
Is it possible to change the style for the grid lines, for instance to be solid not dotted
with G2antt1 do begin BeginUpdate(); DrawGridLines := EXG2ANTTLib_TLB.exAllLines; GridLineStyle := EXG2ANTTLib_TLB.exGridLinesSolid; with Chart do begin PaneWidth[False] := 48; FirstVisibleDate := '1/1/2001'; DrawGridLines := EXG2ANTTLib_TLB.exAllLines; GridLineStyle := EXG2ANTTLib_TLB.exGridLinesSolid; LevelCount := 2; Level[1].DrawGridLines := True; Bars.Item['Task'].Pattern := EXG2ANTTLib_TLB.exPatternSolid; end; Columns.Add('Column'); with Items do begin h := AddItem('Item 1'); AddBar(h,'Task','1/2/2001','1/5/2001','A',Null); AddBar(h,'Task','1/8/2001','1/15/2001','B',Null); end; EndUpdate(); end |
1070 |
How can I show the grid lines for the chart and list area
with G2antt1 do begin DrawGridLines := EXG2ANTTLib_TLB.exAllLines; with Chart do begin PaneWidth[False] := 48; FirstVisibleDate := '1/1/2001'; DrawGridLines := EXG2ANTTLib_TLB.exAllLines; LevelCount := 2; Level[1].DrawGridLines := True; Bars.Item['Task'].Pattern := EXG2ANTTLib_TLB.exPatternSolid; end; Columns.Add('Column'); with Items do begin h := AddItem('Item 1'); AddBar(h,'Task','1/2/2001','1/5/2001','A',Null); AddBar(h,'Task','1/8/2001','1/15/2001','B',Null); end; end |
1069 |
In the level of the chart we are showing the week number of the year (1-53) (Week: ww). However the weeknumber isn't correct. In western Europe the week of 04/01/2010 till 10/01/2010 is weeknumber 1, however the g2antt says it's week 2
with G2antt1 do begin with Chart do begin PaneWidth[False] := 0; FirstVisibleDate := '12/28/2009'; LevelCount := 2; Level[0].Label := 'Week: <%ww%>/<%yyyy%>'; FirstWeekDay := EXG2ANTTLib_TLB.exMonday; end; end |
1068 |
How can I determine the current visible date range of the gantt chart area
with G2antt1 do begin Columns.Add('Task'); with Chart do begin FirstVisibleDate := '1/1/2001'; PaneWidth[False] := 48; end; with Items do begin AddBar(AddItem('Task 1'),'Task','1/2/2001','1/6/2001',Null,Null); AddBar(AddItem('Task 2'),'Task','1/3/2001','1/7/2001',Null,Null); AddBar(AddItem('Task 3'),'Task','1/4/2001','1/8/2001',Null,Null); AddBar(AddItem('Task 4'),'Task','1/6/2001','1/10/2001',Null,Null); end; OutputDebugString( Chart.StartPrintDate ); OutputDebugString( Chart.EndPrintDate ); end |
1067 |
How can I change the progress bar using a spin editor using values from 0 to 100
with G2antt1 do begin BeginUpdate(); Items.AllowCellValueToItemBar := True; with Columns do begin Add('Task'); with (IUnknown(Add('Percent')) as EXG2ANTTLib_TLB.Column) do begin Editor.EditType := EXG2ANTTLib_TLB.SpinType; Def[EXG2ANTTLib_TLB.exCellValueToItemBarProperty] := OleVariant(518); end; end; with Chart do begin FirstVisibleDate := '1/1/2001'; Bars.Add('Task%Progress'); end; with Items do begin h := AddItem('Task 1'); AddBar(h,'Task%Progress','1/2/2001','1/6/2001',Null,Null); CellValue[OleVariant(h),OleVariant(1)] := OleVariant(40); h := AddItem('Task 2'); AddBar(h,'Task%Progress','1/2/2001','1/6/2001',Null,Null); CellValue[OleVariant(h),OleVariant(1)] := OleVariant(50); end; EndUpdate(); end |
1066 |
Is it possible to display the histogram for selected bars only
with G2antt1 do begin BeginUpdate(); with Chart do begin LevelCount := 2; PaneWidth[False] := 64; FirstVisibleDate := '1/1/2001'; HistogramVisible := True; HistogramView := EXG2ANTTLib_TLB.exHistogramSelectedBars; HistogramHeight := 32; Bars.Item['Task'].HistogramPattern := EXG2ANTTLib_TLB.exPatternBDiagonal; end; Columns.Add('Column'); with Items do begin AddBar(AddItem('Item 1'),'Task','1/3/2001','1/5/2001',OleVariant(1),Null); AddBar(AddItem('Item 2'),'Task','1/4/2001','1/7/2001',OleVariant(2),Null); AddBar(AddItem('Item 3'),'Task','1/2/2001','1/6/2001',OleVariant(3),Null); ItemBar[0,OleVariant(2),EXG2ANTTLib_TLB.exBarSelected] := OleVariant(True); ItemBar[0,OleVariant(3),EXG2ANTTLib_TLB.exBarSelected] := OleVariant(True); end; EndUpdate(); end |
1065 |
How can I fix a bar, so it is not selectable, moveable or resizable, fixed in other words
with G2antt1 do begin BeginUpdate(); Columns.Add('Task'); with Chart do begin FirstVisibleDate := '1/1/2001'; PaneWidth[False] := 48; end; with Items do begin h1 := AddItem('Task 1'); AddBar(h1,'Task','1/2/2001','1/8/2001','K1','Unselectable'); ItemBar[h1,'K1',EXG2ANTTLib_TLB.exBarSelectable] := OleVariant(False); end; EndUpdate(); end |
1064 |
How can I fix a bar, so it is not moveable or resizable
with G2antt1 do begin BeginUpdate(); Columns.Add('Task'); with Chart do begin FirstVisibleDate := '1/1/2001'; PaneWidth[False] := 48; end; with Items do begin h1 := AddItem('Task 1'); AddBar(h1,'Task','1/2/2001','1/4/2001','K1','Fixed'); ItemBar[h1,'K1',EXG2ANTTLib_TLB.exBarCanResize] := OleVariant(False); ItemBar[h1,'K1',EXG2ANTTLib_TLB.exBarCanMove] := OleVariant(False); end; EndUpdate(); end |
1063 |
Is is possible to fix a bar during PDM scheduling
with G2antt1 do begin BeginUpdate(); Columns.Add('Task'); with Chart do begin FirstVisibleDate := '1/1/2001'; PaneWidth[False] := 48; end; with Items do begin h1 := AddItem('Task 1'); AddBar(h1,'TaskF','1/2/2001','1/4/2001','K1',Null); ItemBar[h1,'K1',EXG2ANTTLib_TLB.exBarCanResize] := OleVariant(False); ItemBar[h1,'K1',EXG2ANTTLib_TLB.exBarCanMove] := OleVariant(False); h2 := AddItem('Task 2'); AddBar(h2,'Task','1/2/2001','1/4/2001','K2',Null); AddLink('L1',h1,'K1',h2,'K2'); h3 := AddItem('Task 3'); AddBar(h3,'TaskF','1/2/2001','1/4/2001','K3',Null); ItemBar[h3,'K3',EXG2ANTTLib_TLB.exBarCanResize] := OleVariant(False); ItemBar[h3,'K3',EXG2ANTTLib_TLB.exBarCanMove] := OleVariant(False); AddLink('L2',h2,'K2',h3,'K3'); SchedulePDM(0,'K1'); end; EndUpdate(); end |
1062 |
How can I specify that during scheduling the link, bars should be delayed, on working part
with G2antt1 do begin BeginUpdate(); Columns.Add('Task'); with Chart do begin Bars.Add('Task:Split').Shortcut := 'Task'; FirstVisibleDate := '1/1/2001'; PaneWidth[False] := 48; end; with Items do begin h1 := AddItem('Task 1'); AddBar(h1,'Task','1/1/2001','1/3/2001','K1',Null); ItemBar[h1,'K1',EXG2ANTTLib_TLB.exBarKeepWorkingCount] := OleVariant(True); h2 := AddItem('Task 2'); AddBar(h2,'Task','1/2/2001','1/5/2001','K2',Null); ItemBar[h2,'K2',EXG2ANTTLib_TLB.exBarKeepWorkingCount] := OleVariant(True); AddLink('L1',h1,'K1',h2,'K2'); Link['L1',EXG2ANTTLib_TLB.exLinkText] := 'FS'; h3 := AddItem('Task 3'); AddBar(h3,'Task','1/2/2001','1/6/2001','K3',Null); ItemBar[h3,'K3',EXG2ANTTLib_TLB.exBarKeepWorkingCount] := OleVariant(True); AddLink('L2',h2,'K2',h3,'K3'); Link['L2',EXG2ANTTLib_TLB.exLinkText] := 'link delays the bars<br>for <b>2</b> working days'; Link['L2',EXG2ANTTLib_TLB.exLinkPDMWorkingDelay] := OleVariant(2); SchedulePDM(0,'K1'); end; EndUpdate(); end |
1061 |
How can I specify that during scheduling the link, bars should be delayed
with G2antt1 do begin BeginUpdate(); Columns.Add('Task'); with Chart do begin ShowNonworkingDates := False; FirstVisibleDate := '1/1/2001'; PaneWidth[False] := 48; end; with Items do begin h1 := AddItem('Task 1'); AddBar(h1,'Task','1/2/2001','1/4/2001','K1',Null); h2 := AddItem('Task 2'); AddBar(h2,'Task','1/2/2001','1/5/2001','K2',Null); AddLink('L1',h1,'K1',h2,'K2'); Link['L1',EXG2ANTTLib_TLB.exLinkText] := 'FS'; h3 := AddItem('Task 3'); AddBar(h3,'Task','1/2/2001','1/6/2001','K3',Null); AddLink('L2',h2,'K2',h3,'K3'); Link['L2',EXG2ANTTLib_TLB.exLinkText] := ' Finish-Start<br>delayed <b>4</b> days'; Link['L2',EXG2ANTTLib_TLB.exLinkPDMDelay] := OleVariant(4); SchedulePDM(0,'K1'); end; EndUpdate(); end |
1060 |
The SchedulePDM method put the bars on non-working part, how can I prevent that
with G2antt1 do begin BeginUpdate(); Columns.Add('Task'); with Chart do begin Bars.Add('Task:Split').Shortcut := 'Task'; FirstVisibleDate := '1/1/2001'; PaneWidth[False] := 48; end; with Items do begin h1 := AddItem('Task 1'); AddBar(h1,'Task','1/2/2001','1/4/2001','K1',Null); ItemBar[h1,'K1',EXG2ANTTLib_TLB.exBarKeepWorkingCount] := OleVariant(True); h2 := AddItem('Task 2'); AddBar(h2,'Task','1/2/2001','1/5/2001','K2',Null); ItemBar[h2,'K2',EXG2ANTTLib_TLB.exBarKeepWorkingCount] := OleVariant(True); AddLink('L1',h1,'K1',h2,'K2'); Link['L1',EXG2ANTTLib_TLB.exLinkText] := 'FS'; h3 := AddItem('Task 3'); AddBar(h3,'Task','1/2/2001','1/6/2001','K3',Null); ItemBar[h3,'K3',EXG2ANTTLib_TLB.exBarKeepWorkingCount] := OleVariant(True); AddLink('L2',h2,'K2',h3,'K3'); Link['L2',EXG2ANTTLib_TLB.exLinkText] := 'FS'; SchedulePDM(0,'K1'); end; EndUpdate(); end |
1059 |
How can I add a SF (Start-Finish) link so activities get arranged using the SchedulePDM
with G2antt1 do begin BeginUpdate(); Columns.Add('Task'); with Chart do begin FirstVisibleDate := '12/28/2000'; PaneWidth[False] := 48; end; with Items do begin h1 := AddItem('Task 1'); AddBar(h1,'Task','1/2/2001','1/4/2001','K1',Null); h2 := AddItem('Task 2'); AddBar(h2,'Task','1/2/2001','1/5/2001','K2',Null); AddLink('L1',h1,'K1',h2,'K2'); Link['L1',EXG2ANTTLib_TLB.exLinkText] := 'FS'; h3 := AddItem('Task 3'); AddBar(h3,'Task','1/2/2001','1/6/2001','K3',Null); AddLink('L2',h2,'K2',h3,'K3'); Link['L2',EXG2ANTTLib_TLB.exLinkText] := 'SF'; Link['L2',EXG2ANTTLib_TLB.exLinkStartPos] := OleVariant(0); Link['L2',EXG2ANTTLib_TLB.exLinkEndPos] := OleVariant(2); SchedulePDM(0,'K1'); end; EndUpdate(); end |
1058 |
How can I add a SS (Start-Start) link so activities get arranged using the SchedulePDM
with G2antt1 do begin BeginUpdate(); Columns.Add('Task'); with Chart do begin FirstVisibleDate := '12/28/2000'; PaneWidth[False] := 48; end; with Items do begin h1 := AddItem('Task 1'); AddBar(h1,'Task','1/2/2001','1/4/2001','K1',Null); h2 := AddItem('Task 2'); AddBar(h2,'Task','1/2/2001','1/5/2001','K2',Null); AddLink('L1',h1,'K1',h2,'K2'); Link['L1',EXG2ANTTLib_TLB.exLinkText] := 'FS'; h3 := AddItem('Task 3'); AddBar(h3,'Task','1/2/2001','1/6/2001','K3',Null); AddLink('L2',h2,'K2',h3,'K3'); Link['L2',EXG2ANTTLib_TLB.exLinkText] := 'SS'; Link['L2',EXG2ANTTLib_TLB.exLinkStartPos] := OleVariant(0); Link['L2',EXG2ANTTLib_TLB.exLinkEndPos] := OleVariant(0); SchedulePDM(0,'K1'); end; EndUpdate(); end |
1057 |
How can I add a FF (Finish-Finish) link so activities get arranged using the SchedulePDM
with G2antt1 do begin BeginUpdate(); Columns.Add('Task'); with Chart do begin FirstVisibleDate := '12/28/2000'; PaneWidth[False] := 48; end; with Items do begin h1 := AddItem('Task 1'); AddBar(h1,'Task','1/2/2001','1/4/2001','K1',Null); h2 := AddItem('Task 2'); AddBar(h2,'Task','1/2/2001','1/5/2001','K2',Null); AddLink('L1',h1,'K1',h2,'K2'); Link['L1',EXG2ANTTLib_TLB.exLinkText] := 'FS'; h3 := AddItem('Task 3'); AddBar(h3,'Task','1/2/2001','1/6/2001','K3',Null); AddLink('L2',h2,'K2',h3,'K3'); Link['L2',EXG2ANTTLib_TLB.exLinkText] := 'FF'; Link['L2',EXG2ANTTLib_TLB.exLinkStartPos] := OleVariant(2); Link['L2',EXG2ANTTLib_TLB.exLinkEndPos] := OleVariant(2); SchedulePDM(0,'K1'); end; EndUpdate(); end |
1056 |
How can I add a FS (Finish-Start) link so activities get arranged using the SchedulePDM
with G2antt1 do begin BeginUpdate(); Columns.Add('Task'); with Chart do begin FirstVisibleDate := '1/1/2001'; PaneWidth[False] := 48; end; with Items do begin h1 := AddItem('Task 1'); AddBar(h1,'Task','1/2/2001','1/4/2001','K1',Null); h2 := AddItem('Task 2'); AddBar(h2,'Task','1/2/2001','1/5/2001','K2',Null); AddLink('L1',h1,'K1',h2,'K2'); Link['L1',EXG2ANTTLib_TLB.exLinkText] := 'FS'; h3 := AddItem('Task 3'); AddBar(h3,'Task','1/2/2001','1/6/2001','K3',Null); AddLink('L2',h2,'K2',h3,'K3'); Link['L2',EXG2ANTTLib_TLB.exLinkText] := 'FS'; SchedulePDM(0,'K1'); end; EndUpdate(); end |
1055 |
How can I schedule activities in the project plan
with G2antt1 do begin BeginUpdate(); Columns.Add('Task'); with Chart do begin FirstVisibleDate := '1/1/2001'; PaneWidth[False] := 48; end; with Items do begin h1 := AddItem('Task 1'); AddBar(h1,'Task','1/2/2001','1/4/2001','K1',Null); h2 := AddItem('Task 2'); AddBar(h2,'Task','1/2/2001','1/4/2001','K2',Null); AddLink('L1',h1,'K1',h2,'K2'); h3 := AddItem('Task 3'); AddBar(h3,'Task','1/2/2001','1/4/2001','K3',Null); AddLink('L2',h3,'K3',h2,'K2'); SchedulePDM(0,'K1'); end; EndUpdate(); end |
1054 |
How do I arrange the bars based on the links
with G2antt1 do begin BeginUpdate(); Columns.Add('Task'); with Chart do begin FirstVisibleDate := '1/1/2001'; PaneWidth[False] := 48; end; with Items do begin h1 := AddItem('Task 1'); AddBar(h1,'Task','1/2/2001','1/4/2001','K1',Null); h2 := AddItem('Task 2'); AddBar(h2,'Task','1/2/2001','1/4/2001','K2',Null); AddLink('L1',h1,'K1',h2,'K2'); h3 := AddItem('Task 3'); AddBar(h3,'Task','1/2/2001','1/4/2001','K3',Null); AddLink('L2',h2,'K2',h3,'K3'); SchedulePDM(0,'K1'); end; EndUpdate(); end |
1053 |
Is is possible to use HTML tags to display in the filter caption
with G2antt1 do begin BeginUpdate(); FilterBarPromptVisible := True; FilterBarCaption := 'This is a bit of text being displayed in the filter bar.'; Columns.Add(''); with Items do begin AddItem('Item 1'); AddItem('Item 2'); AddItem('Item 3'); end; EndUpdate(); end |
1052 |
How can I find the number of items after filtering
with G2antt1 do begin BeginUpdate(); Columns.Add(''); with Items do begin h := AddItem(''); CellValue[OleVariant(h),OleVariant(0)] := OleVariant(VisibleItemCount); end; EndUpdate(); end |
1051 |
How can I change the filter caption
with G2antt1 do begin BeginUpdate(); Chart.PaneWidth[True] := 0; ColumnAutoResize := True; ContinueColumnScroll := False; FocusColumnIndex := 1; MarkSearchColumn := False; SearchColumnIndex := 1; FilterBarPromptVisible := True; FilterBarPromptType := Integer(EXG2ANTTLib_TLB.exFilterPromptWords) Or Integer(EXG2ANTTLib_TLB.exFilterPromptContainsAll); FilterBarPromptPattern := 'london robert'; FilterBarCaption := '<r>Found: ... '; with Columns do begin (IUnknown(Add('Name')) as EXG2ANTTLib_TLB.Column).Width := 96; (IUnknown(Add('Title')) as EXG2ANTTLib_TLB.Column).Width := 96; Add('City'); end; with Items do begin h0 := AddItem('Nancy Davolio'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'Seattle'; h0 := AddItem('Andrew Fuller'); CellValue[OleVariant(h0),OleVariant(1)] := 'Vice President, Sales'; CellValue[OleVariant(h0),OleVariant(2)] := 'Tacoma'; SelectItem[h0] := True; h0 := AddItem('Janet Leverling'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'Kirkland'; h0 := AddItem('Margaret Peacock'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'Redmond'; h0 := AddItem('Steven Buchanan'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Manager'; CellValue[OleVariant(h0),OleVariant(2)] := 'London'; h0 := AddItem('Michael Suyama'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'London'; h0 := AddItem('Robert King'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'London'; h0 := AddItem('Laura Callahan'); CellValue[OleVariant(h0),OleVariant(1)] := 'Inside Sales Coordinator'; CellValue[OleVariant(h0),OleVariant(2)] := 'Seattle'; h0 := AddItem('Anne Dodsworth'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'London'; end; EndUpdate(); end |
1050 |
While using the filter prompt is it is possible to use wild characters
with G2antt1 do begin BeginUpdate(); Chart.PaneWidth[True] := 0; ColumnAutoResize := True; ContinueColumnScroll := False; FocusColumnIndex := 1; MarkSearchColumn := False; SearchColumnIndex := 1; FilterBarPromptVisible := True; FilterBarPromptType := EXG2ANTTLib_TLB.exFilterPromptPattern; FilterBarPromptPattern := 'lon* seat*'; with Columns do begin (IUnknown(Add('Name')) as EXG2ANTTLib_TLB.Column).Width := 96; (IUnknown(Add('Title')) as EXG2ANTTLib_TLB.Column).Width := 96; Add('City'); end; with Items do begin h0 := AddItem('Nancy Davolio'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'Seattle'; h0 := AddItem('Andrew Fuller'); CellValue[OleVariant(h0),OleVariant(1)] := 'Vice President, Sales'; CellValue[OleVariant(h0),OleVariant(2)] := 'Tacoma'; SelectItem[h0] := True; h0 := AddItem('Janet Leverling'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'Kirkland'; h0 := AddItem('Margaret Peacock'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'Redmond'; h0 := AddItem('Steven Buchanan'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Manager'; CellValue[OleVariant(h0),OleVariant(2)] := 'London'; h0 := AddItem('Michael Suyama'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'London'; h0 := AddItem('Robert King'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'London'; h0 := AddItem('Laura Callahan'); CellValue[OleVariant(h0),OleVariant(1)] := 'Inside Sales Coordinator'; CellValue[OleVariant(h0),OleVariant(2)] := 'Seattle'; h0 := AddItem('Anne Dodsworth'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'London'; end; EndUpdate(); end |
1049 |
How can I list all items that contains any of specified words, not necessary at the beggining
with G2antt1 do begin BeginUpdate(); Chart.PaneWidth[True] := 0; ColumnAutoResize := True; ContinueColumnScroll := False; FocusColumnIndex := 1; MarkSearchColumn := False; SearchColumnIndex := 1; FilterBarPromptVisible := True; FilterBarPromptType := Integer(EXG2ANTTLib_TLB.exFilterPromptStartWords) Or Integer(EXG2ANTTLib_TLB.exFilterPromptContainsAny); FilterBarPromptPattern := 'london davolio'; with Columns do begin (IUnknown(Add('Name')) as EXG2ANTTLib_TLB.Column).Width := 96; (IUnknown(Add('Title')) as EXG2ANTTLib_TLB.Column).Width := 96; Add('City'); end; with Items do begin h0 := AddItem('Nancy Davolio'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'Seattle'; h0 := AddItem('Andrew Fuller'); CellValue[OleVariant(h0),OleVariant(1)] := 'Vice President, Sales'; CellValue[OleVariant(h0),OleVariant(2)] := 'Tacoma'; SelectItem[h0] := True; h0 := AddItem('Janet Leverling'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'Kirkland'; h0 := AddItem('Margaret Peacock'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'Redmond'; h0 := AddItem('Steven Buchanan'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Manager'; CellValue[OleVariant(h0),OleVariant(2)] := 'London'; h0 := AddItem('Michael Suyama'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'London'; h0 := AddItem('Robert King'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'London'; h0 := AddItem('Laura Callahan'); CellValue[OleVariant(h0),OleVariant(1)] := 'Inside Sales Coordinator'; CellValue[OleVariant(h0),OleVariant(2)] := 'Seattle'; h0 := AddItem('Anne Dodsworth'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'London'; end; EndUpdate(); end |
1048 |
How can I list all items that contains any of specified words, not strings
with G2antt1 do begin BeginUpdate(); ColumnAutoResize := True; ContinueColumnScroll := False; FocusColumnIndex := 1; Chart.PaneWidth[True] := 0; MarkSearchColumn := False; SearchColumnIndex := 1; FilterBarPromptVisible := True; FilterBarPromptType := Integer(EXG2ANTTLib_TLB.exFilterPromptWords) Or Integer(EXG2ANTTLib_TLB.exFilterPromptContainsAny); FilterBarPromptPattern := 'london nancy'; with Columns do begin (IUnknown(Add('Name')) as EXG2ANTTLib_TLB.Column).Width := 96; (IUnknown(Add('Title')) as EXG2ANTTLib_TLB.Column).Width := 96; Add('City'); end; with Items do begin h0 := AddItem('Nancy Davolio'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'Seattle'; h0 := AddItem('Andrew Fuller'); CellValue[OleVariant(h0),OleVariant(1)] := 'Vice President, Sales'; CellValue[OleVariant(h0),OleVariant(2)] := 'Tacoma'; SelectItem[h0] := True; h0 := AddItem('Janet Leverling'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'Kirkland'; h0 := AddItem('Margaret Peacock'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'Redmond'; h0 := AddItem('Steven Buchanan'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Manager'; CellValue[OleVariant(h0),OleVariant(2)] := 'London'; h0 := AddItem('Michael Suyama'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'London'; h0 := AddItem('Robert King'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'London'; h0 := AddItem('Laura Callahan'); CellValue[OleVariant(h0),OleVariant(1)] := 'Inside Sales Coordinator'; CellValue[OleVariant(h0),OleVariant(2)] := 'Seattle'; h0 := AddItem('Anne Dodsworth'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'London'; end; EndUpdate(); end |
1047 |
How can I list all items that contains all specified words, not strings
with G2antt1 do begin BeginUpdate(); Chart.PaneWidth[True] := 0; ColumnAutoResize := True; ContinueColumnScroll := False; FocusColumnIndex := 1; MarkSearchColumn := False; SearchColumnIndex := 1; FilterBarPromptVisible := True; FilterBarPromptType := Integer(EXG2ANTTLib_TLB.exFilterPromptWords) Or Integer(EXG2ANTTLib_TLB.exFilterPromptContainsAll); FilterBarPromptPattern := 'london robert'; with Columns do begin (IUnknown(Add('Name')) as EXG2ANTTLib_TLB.Column).Width := 96; (IUnknown(Add('Title')) as EXG2ANTTLib_TLB.Column).Width := 96; Add('City'); end; with Items do begin h0 := AddItem('Nancy Davolio'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'Seattle'; h0 := AddItem('Andrew Fuller'); CellValue[OleVariant(h0),OleVariant(1)] := 'Vice President, Sales'; CellValue[OleVariant(h0),OleVariant(2)] := 'Tacoma'; SelectItem[h0] := True; h0 := AddItem('Janet Leverling'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'Kirkland'; h0 := AddItem('Margaret Peacock'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'Redmond'; h0 := AddItem('Steven Buchanan'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Manager'; CellValue[OleVariant(h0),OleVariant(2)] := 'London'; h0 := AddItem('Michael Suyama'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'London'; h0 := AddItem('Robert King'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'London'; h0 := AddItem('Laura Callahan'); CellValue[OleVariant(h0),OleVariant(1)] := 'Inside Sales Coordinator'; CellValue[OleVariant(h0),OleVariant(2)] := 'Seattle'; h0 := AddItem('Anne Dodsworth'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'London'; end; EndUpdate(); end |
1046 |
I've noticed that the filtering by prompt is not case sensitive, is is possible to make it case sensitive
with G2antt1 do begin BeginUpdate(); ColumnAutoResize := True; ContinueColumnScroll := False; FocusColumnIndex := 1; MarkSearchColumn := False; SearchColumnIndex := 1; FilterBarPromptVisible := True; FilterBarPromptType := Integer(EXG2ANTTLib_TLB.exFilterPromptCaseSensitive) Or Integer(EXG2ANTTLib_TLB.exFilterPromptContainsAny); FilterBarPromptPattern := 'Anne'; Chart.PaneWidth[True] := 0; with Columns do begin (IUnknown(Add('Name')) as EXG2ANTTLib_TLB.Column).Width := 96; (IUnknown(Add('Title')) as EXG2ANTTLib_TLB.Column).Width := 96; Add('City'); end; with Items do begin h0 := AddItem('Nancy Davolio'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'Seattle'; h0 := AddItem('Andrew Fuller'); CellValue[OleVariant(h0),OleVariant(1)] := 'Vice President, Sales'; CellValue[OleVariant(h0),OleVariant(2)] := 'Tacoma'; SelectItem[h0] := True; h0 := AddItem('Janet Leverling'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'Kirkland'; h0 := AddItem('Margaret Peacock'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'Redmond'; h0 := AddItem('Steven Buchanan'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Manager'; CellValue[OleVariant(h0),OleVariant(2)] := 'London'; h0 := AddItem('Michael Suyama'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'London'; h0 := AddItem('Robert King'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'London'; h0 := AddItem('Laura Callahan'); CellValue[OleVariant(h0),OleVariant(1)] := 'Inside Sales Coordinator'; CellValue[OleVariant(h0),OleVariant(2)] := 'Seattle'; h0 := AddItem('Anne Dodsworth'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'London'; end; EndUpdate(); end |
1045 |
Is it possible to list only items that ends with any of specified strings
with G2antt1 do begin BeginUpdate(); ColumnAutoResize := True; ContinueColumnScroll := False; FocusColumnIndex := 1; MarkSearchColumn := False; SearchColumnIndex := 1; FilterBarPromptVisible := True; FilterBarPromptType := EXG2ANTTLib_TLB.exFilterPromptEndWith; FilterBarPromptColumns := '0'; FilterBarPromptPattern := 'Fuller'; Chart.PaneWidth[True] := 0; with Columns do begin (IUnknown(Add('Name')) as EXG2ANTTLib_TLB.Column).Width := 96; (IUnknown(Add('Title')) as EXG2ANTTLib_TLB.Column).Width := 96; Add('City'); end; with Items do begin h0 := AddItem('Nancy Davolio'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'Seattle'; h0 := AddItem('Andrew Fuller'); CellValue[OleVariant(h0),OleVariant(1)] := 'Vice President, Sales'; CellValue[OleVariant(h0),OleVariant(2)] := 'Tacoma'; SelectItem[h0] := True; h0 := AddItem('Janet Leverling'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'Kirkland'; h0 := AddItem('Margaret Peacock'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'Redmond'; h0 := AddItem('Steven Buchanan'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Manager'; CellValue[OleVariant(h0),OleVariant(2)] := 'London'; h0 := AddItem('Michael Suyama'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'London'; h0 := AddItem('Robert King'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'London'; h0 := AddItem('Laura Callahan'); CellValue[OleVariant(h0),OleVariant(1)] := 'Inside Sales Coordinator'; CellValue[OleVariant(h0),OleVariant(2)] := 'Seattle'; h0 := AddItem('Anne Dodsworth'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'London'; end; EndUpdate(); end |
1044 |
Is it possible to list only items that ends with any of specified strings
with G2antt1 do begin BeginUpdate(); ColumnAutoResize := True; ContinueColumnScroll := False; FocusColumnIndex := 1; MarkSearchColumn := False; SearchColumnIndex := 1; FilterBarPromptVisible := True; FilterBarPromptType := EXG2ANTTLib_TLB.exFilterPromptEndWith; FilterBarPromptColumns := '0'; FilterBarPromptPattern := 'Fuller'; Chart.PaneWidth[True] := 0; with Columns do begin (IUnknown(Add('Name')) as EXG2ANTTLib_TLB.Column).Width := 96; (IUnknown(Add('Title')) as EXG2ANTTLib_TLB.Column).Width := 96; Add('City'); end; with Items do begin h0 := AddItem('Nancy Davolio'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'Seattle'; h0 := AddItem('Andrew Fuller'); CellValue[OleVariant(h0),OleVariant(1)] := 'Vice President, Sales'; CellValue[OleVariant(h0),OleVariant(2)] := 'Tacoma'; SelectItem[h0] := True; h0 := AddItem('Janet Leverling'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'Kirkland'; h0 := AddItem('Margaret Peacock'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'Redmond'; h0 := AddItem('Steven Buchanan'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Manager'; CellValue[OleVariant(h0),OleVariant(2)] := 'London'; h0 := AddItem('Michael Suyama'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'London'; h0 := AddItem('Robert King'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'London'; h0 := AddItem('Laura Callahan'); CellValue[OleVariant(h0),OleVariant(1)] := 'Inside Sales Coordinator'; CellValue[OleVariant(h0),OleVariant(2)] := 'Seattle'; h0 := AddItem('Anne Dodsworth'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'London'; end; EndUpdate(); end |
1043 |
Is it possible to list only items that starts with any of specified strings
with G2antt1 do begin BeginUpdate(); ColumnAutoResize := True; ContinueColumnScroll := False; FocusColumnIndex := 1; MarkSearchColumn := False; SearchColumnIndex := 1; FilterBarPromptVisible := True; FilterBarPromptType := EXG2ANTTLib_TLB.exFilterPromptStartWith; FilterBarPromptColumns := '0'; FilterBarPromptPattern := 'An M'; Chart.PaneWidth[True] := 0; with Columns do begin (IUnknown(Add('Name')) as EXG2ANTTLib_TLB.Column).Width := 96; (IUnknown(Add('Title')) as EXG2ANTTLib_TLB.Column).Width := 96; Add('City'); end; with Items do begin h0 := AddItem('Nancy Davolio'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'Seattle'; h0 := AddItem('Andrew Fuller'); CellValue[OleVariant(h0),OleVariant(1)] := 'Vice President, Sales'; CellValue[OleVariant(h0),OleVariant(2)] := 'Tacoma'; SelectItem[h0] := True; h0 := AddItem('Janet Leverling'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'Kirkland'; h0 := AddItem('Margaret Peacock'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'Redmond'; h0 := AddItem('Steven Buchanan'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Manager'; CellValue[OleVariant(h0),OleVariant(2)] := 'London'; h0 := AddItem('Michael Suyama'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'London'; h0 := AddItem('Robert King'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'London'; h0 := AddItem('Laura Callahan'); CellValue[OleVariant(h0),OleVariant(1)] := 'Inside Sales Coordinator'; CellValue[OleVariant(h0),OleVariant(2)] := 'Seattle'; h0 := AddItem('Anne Dodsworth'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'London'; end; EndUpdate(); end |
1042 |
Is it possible to list only items that starts with specified string
with G2antt1 do begin BeginUpdate(); ColumnAutoResize := True; ContinueColumnScroll := False; FocusColumnIndex := 1; MarkSearchColumn := False; SearchColumnIndex := 1; FilterBarPromptVisible := True; FilterBarPromptType := EXG2ANTTLib_TLB.exFilterPromptStartWith; FilterBarPromptColumns := '0'; FilterBarPromptPattern := 'A'; Chart.PaneWidth[True] := 0; with Columns do begin (IUnknown(Add('Name')) as EXG2ANTTLib_TLB.Column).Width := 96; (IUnknown(Add('Title')) as EXG2ANTTLib_TLB.Column).Width := 96; Add('City'); end; with Items do begin h0 := AddItem('Nancy Davolio'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'Seattle'; h0 := AddItem('Andrew Fuller'); CellValue[OleVariant(h0),OleVariant(1)] := 'Vice President, Sales'; CellValue[OleVariant(h0),OleVariant(2)] := 'Tacoma'; SelectItem[h0] := True; h0 := AddItem('Janet Leverling'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'Kirkland'; h0 := AddItem('Margaret Peacock'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'Redmond'; h0 := AddItem('Steven Buchanan'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Manager'; CellValue[OleVariant(h0),OleVariant(2)] := 'London'; h0 := AddItem('Michael Suyama'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'London'; h0 := AddItem('Robert King'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'London'; h0 := AddItem('Laura Callahan'); CellValue[OleVariant(h0),OleVariant(1)] := 'Inside Sales Coordinator'; CellValue[OleVariant(h0),OleVariant(2)] := 'Seattle'; h0 := AddItem('Anne Dodsworth'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'London'; end; EndUpdate(); end |
1041 |
How can I specify that the list should include any of the seqeunces in the pattern
with G2antt1 do begin BeginUpdate(); ColumnAutoResize := True; ContinueColumnScroll := False; FocusColumnIndex := 1; MarkSearchColumn := False; SearchColumnIndex := 1; FilterBarPromptVisible := True; FilterBarPromptType := EXG2ANTTLib_TLB.exFilterPromptContainsAny; FilterBarPromptPattern := 'london seattle'; Chart.PaneWidth[True] := 0; with Columns do begin (IUnknown(Add('Name')) as EXG2ANTTLib_TLB.Column).Width := 96; (IUnknown(Add('Title')) as EXG2ANTTLib_TLB.Column).Width := 96; Add('City'); end; with Items do begin h0 := AddItem('Nancy Davolio'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'Seattle'; h0 := AddItem('Andrew Fuller'); CellValue[OleVariant(h0),OleVariant(1)] := 'Vice President, Sales'; CellValue[OleVariant(h0),OleVariant(2)] := 'Tacoma'; SelectItem[h0] := True; h0 := AddItem('Janet Leverling'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'Kirkland'; h0 := AddItem('Margaret Peacock'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'Redmond'; h0 := AddItem('Steven Buchanan'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Manager'; CellValue[OleVariant(h0),OleVariant(2)] := 'London'; h0 := AddItem('Michael Suyama'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'London'; h0 := AddItem('Robert King'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'London'; h0 := AddItem('Laura Callahan'); CellValue[OleVariant(h0),OleVariant(1)] := 'Inside Sales Coordinator'; CellValue[OleVariant(h0),OleVariant(2)] := 'Seattle'; h0 := AddItem('Anne Dodsworth'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'London'; end; EndUpdate(); end |
1040 |
How can I specify that all sequences in the filter pattern must be included in the list
with G2antt1 do begin BeginUpdate(); Chart.PaneWidth[True] := 0; ColumnAutoResize := True; ContinueColumnScroll := False; FocusColumnIndex := 1; MarkSearchColumn := False; SearchColumnIndex := 1; FilterBarPromptVisible := True; FilterBarPromptType := EXG2ANTTLib_TLB.exFilterPromptContainsAll; FilterBarPromptPattern := 'london manager'; with Columns do begin (IUnknown(Add('Name')) as EXG2ANTTLib_TLB.Column).Width := 96; (IUnknown(Add('Title')) as EXG2ANTTLib_TLB.Column).Width := 96; Add('City'); end; with Items do begin h0 := AddItem('Nancy Davolio'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'Seattle'; h0 := AddItem('Andrew Fuller'); CellValue[OleVariant(h0),OleVariant(1)] := 'Vice President, Sales'; CellValue[OleVariant(h0),OleVariant(2)] := 'Tacoma'; SelectItem[h0] := True; h0 := AddItem('Janet Leverling'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'Kirkland'; h0 := AddItem('Margaret Peacock'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'Redmond'; h0 := AddItem('Steven Buchanan'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Manager'; CellValue[OleVariant(h0),OleVariant(2)] := 'London'; h0 := AddItem('Michael Suyama'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'London'; h0 := AddItem('Robert King'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'London'; h0 := AddItem('Laura Callahan'); CellValue[OleVariant(h0),OleVariant(1)] := 'Inside Sales Coordinator'; CellValue[OleVariant(h0),OleVariant(2)] := 'Seattle'; h0 := AddItem('Anne Dodsworth'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'London'; end; EndUpdate(); end |
1039 |
How do I change at runtime the filter prompt
with G2antt1 do begin BeginUpdate(); ColumnAutoResize := True; ContinueColumnScroll := False; FocusColumnIndex := 1; Chart.PaneWidth[True] := 0; MarkSearchColumn := False; SearchColumnIndex := 1; FilterBarPromptVisible := True; FilterBarPromptPattern := 'london manager'; with Columns do begin (IUnknown(Add('Name')) as EXG2ANTTLib_TLB.Column).Width := 96; (IUnknown(Add('Title')) as EXG2ANTTLib_TLB.Column).Width := 96; Add('City'); end; with Items do begin h0 := AddItem('Nancy Davolio'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'Seattle'; h0 := AddItem('Andrew Fuller'); CellValue[OleVariant(h0),OleVariant(1)] := 'Vice President, Sales'; CellValue[OleVariant(h0),OleVariant(2)] := 'Tacoma'; SelectItem[h0] := True; h0 := AddItem('Janet Leverling'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'Kirkland'; h0 := AddItem('Margaret Peacock'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'Redmond'; h0 := AddItem('Steven Buchanan'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Manager'; CellValue[OleVariant(h0),OleVariant(2)] := 'London'; h0 := AddItem('Michael Suyama'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'London'; h0 := AddItem('Robert King'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'London'; h0 := AddItem('Laura Callahan'); CellValue[OleVariant(h0),OleVariant(1)] := 'Inside Sales Coordinator'; CellValue[OleVariant(h0),OleVariant(2)] := 'Seattle'; h0 := AddItem('Anne Dodsworth'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'London'; end; EndUpdate(); end |
1038 |
How do I specify to filter only a single column when using the filter prompt
with G2antt1 do begin BeginUpdate(); ColumnAutoResize := True; ContinueColumnScroll := False; FocusColumnIndex := 1; Chart.PaneWidth[True] := 0; MarkSearchColumn := False; SearchColumnIndex := 1; FilterBarPromptVisible := True; FilterBarPromptColumns := '2,3'; FilterBarPromptPattern := 'london'; with Columns do begin (IUnknown(Add('Name')) as EXG2ANTTLib_TLB.Column).Width := 96; (IUnknown(Add('Title')) as EXG2ANTTLib_TLB.Column).Width := 96; Add('City'); end; with Items do begin h0 := AddItem('Nancy Davolio'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'Seattle'; h0 := AddItem('Andrew Fuller'); CellValue[OleVariant(h0),OleVariant(1)] := 'Vice President, Sales'; CellValue[OleVariant(h0),OleVariant(2)] := 'Tacoma'; SelectItem[h0] := True; h0 := AddItem('Janet Leverling'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'Kirkland'; h0 := AddItem('Margaret Peacock'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'Redmond'; h0 := AddItem('Steven Buchanan'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Manager'; CellValue[OleVariant(h0),OleVariant(2)] := 'London'; h0 := AddItem('Michael Suyama'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'London'; h0 := AddItem('Robert King'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'London'; h0 := AddItem('Laura Callahan'); CellValue[OleVariant(h0),OleVariant(1)] := 'Inside Sales Coordinator'; CellValue[OleVariant(h0),OleVariant(2)] := 'Seattle'; h0 := AddItem('Anne Dodsworth'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'London'; end; EndUpdate(); end |
1037 |
How do I change the prompt or the caption being displayed in the filter bar
with G2antt1 do begin BeginUpdate(); Chart.PaneWidth[True] := 0; ColumnAutoResize := True; ContinueColumnScroll := False; FocusColumnIndex := 1; MarkSearchColumn := False; SearchColumnIndex := 1; FilterBarPromptVisible := True; FilterBarPrompt := 'changed'; with Columns do begin (IUnknown(Add('Name')) as EXG2ANTTLib_TLB.Column).Width := 96; (IUnknown(Add('Title')) as EXG2ANTTLib_TLB.Column).Width := 96; Add('City'); end; EndUpdate(); end |
1036 |
How do I enable the filter prompt feature
with G2antt1 do begin BeginUpdate(); Chart.PaneWidth[True] := 0; ColumnAutoResize := True; ContinueColumnScroll := False; FocusColumnIndex := 1; MarkSearchColumn := False; SearchColumnIndex := 1; FilterBarPromptVisible := True; with Columns do begin (IUnknown(Add('Name')) as EXG2ANTTLib_TLB.Column).Width := 96; (IUnknown(Add('Title')) as EXG2ANTTLib_TLB.Column).Width := 96; Add('City'); end; with Items do begin h0 := AddItem('Nancy Davolio'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'Seattle'; h0 := AddItem('Andrew Fuller'); CellValue[OleVariant(h0),OleVariant(1)] := 'Vice President, Sales'; CellValue[OleVariant(h0),OleVariant(2)] := 'Tacoma'; SelectItem[h0] := True; h0 := AddItem('Janet Leverling'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'Kirkland'; h0 := AddItem('Margaret Peacock'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'Redmond'; h0 := AddItem('Steven Buchanan'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Manager'; CellValue[OleVariant(h0),OleVariant(2)] := 'London'; h0 := AddItem('Michael Suyama'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'London'; h0 := AddItem('Robert King'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'London'; h0 := AddItem('Laura Callahan'); CellValue[OleVariant(h0),OleVariant(1)] := 'Inside Sales Coordinator'; CellValue[OleVariant(h0),OleVariant(2)] := 'Seattle'; h0 := AddItem('Anne Dodsworth'); CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellValue[OleVariant(h0),OleVariant(2)] := 'London'; end; EndUpdate(); end |
1035 |
How can I unselect all bars
with G2antt1 do begin Columns.Add('Task'); Chart.FirstVisibleDate := '1/1/2001'; with Items do begin AddBar(AddItem('Task 1'),'Task','1/2/2001','1/4/2001','K1',Null); AddBar(AddItem('Task 2'),'Task','1/2/2001','1/4/2001','K2',Null); AddBar(AddItem('Task 3'),'Task','1/2/2001','1/4/2001','K3',Null); AddBar(AddItem('Task 4'),'Task','1/2/2001','1/4/2001','K4',Null); ItemBar[0,'<*>',EXG2ANTTLib_TLB.exBarSelected] := OleVariant(True); ItemBar[0,'<*>',EXG2ANTTLib_TLB.exBarSelected] := OleVariant(False); end; end |
1034 |
Can I select bars using a pattern using wild characters as *,
with G2antt1 do begin Columns.Add('Task'); with Chart do begin FirstVisibleDate := '1/1/2001'; PaneWidth[False] := 48; ShowNonworkingDates := False; end; with Items do begin h := AddItem('Task 1'); AddBar(h,'Task','1/2/2001','1/4/2001','K1K','K1K'); AddBar(h,'Task','1/5/2001','1/7/2001','K2M','K2M'); AddBar(h,'Task','1/9/2001','1/11/2001','K3K','K3K'); AddBar(AddItem('Task 2'),'Task','1/2/2001','1/4/2001','Q','Q'); AddBar(AddItem('Task 4'),'Task','1/2/2001','1/4/2001','M','M'); ItemBar[0,'<K*K>',EXG2ANTTLib_TLB.exBarSelected] := OleVariant(True); end; end |
1033 |
How can I select all bars in the item with a specified key
with G2antt1 do begin Columns.Add('Task'); Chart.FirstVisibleDate := '1/1/2001'; Chart.PaneWidth[False] := 48; with Items do begin h := AddItem('Task 1'); AddBar(h,'Task','1/2/2001','1/4/2001','K1','K1'); AddBar(h,'Task','1/5/2001','1/7/2001','K2','K2'); AddBar(h,'Task','1/9/2001','1/11/2001','P','P'); AddBar(AddItem('Task 2'),'Task','1/2/2001','1/4/2001','Q','Q'); AddBar(AddItem('Task 4'),'Task','1/2/2001','1/4/2001','M','M'); ItemBar[h,'<K*>',EXG2ANTTLib_TLB.exBarSelected] := OleVariant(True); end; end |
1032 |
How can I select all bars in the specified item
with G2antt1 do begin Columns.Add('Task'); Chart.FirstVisibleDate := '1/1/2001'; Chart.PaneWidth[False] := 48; with Items do begin h := AddItem('Task 1'); AddBar(h,'Task','1/2/2001','1/4/2001','K1','K1'); AddBar(h,'Task','1/5/2001','1/7/2001','K2','K2'); AddBar(h,'Task','1/9/2001','1/11/2001','P','P'); AddBar(AddItem('Task 2'),'Task','1/2/2001','1/4/2001','Q','Q'); AddBar(AddItem('Task 4'),'Task','1/2/2001','1/4/2001','M','M'); ItemBar[h,'<*>',EXG2ANTTLib_TLB.exBarSelected] := OleVariant(True); end; end |
1031 |
How can I select all bars with a specified key
with G2antt1 do begin Columns.Add('Task'); Chart.FirstVisibleDate := '1/1/2001'; Chart.PaneWidth[False] := 48; with Items do begin h := AddItem('Task 1'); AddBar(h,'Task','1/2/2001','1/4/2001','K1','K1'); AddBar(h,'Task','1/5/2001','1/7/2001','K2','K2'); AddBar(h,'Task','1/8/2001','1/10/2001','P','P'); AddBar(AddItem('Task 2'),'Task','1/2/2001','1/4/2001','Q','Q'); AddBar(AddItem('Task 4'),'Task','1/2/2001','1/4/2001','P','P'); ItemBar[0,'<P>',EXG2ANTTLib_TLB.exBarSelected] := OleVariant(True); end; end |
1030 |
How can I select all bars
with G2antt1 do begin Columns.Add('Task'); Chart.FirstVisibleDate := '1/1/2001'; Chart.PaneWidth[False] := 48; with Items do begin h := AddItem('Task 1'); AddBar(h,'Task','1/2/2001','1/4/2001','K1','K1'); AddBar(h,'Task','1/5/2001','1/7/2001','K2','K2'); AddBar(h,'Task','1/8/2001','1/10/2001','P','P'); AddBar(AddItem('Task 2'),'Task','1/2/2001','1/4/2001','Q','Q'); AddBar(AddItem('Task 4'),'Task','1/2/2001','1/4/2001','M','M'); ItemBar[0,'<*>',EXG2ANTTLib_TLB.exBarSelected] := OleVariant(True); end; end |
1029 |
I have the AllowInsideZoom property on True, but I am still not able to use the inside zoom feature
with G2antt1 do begin BeginUpdate(); with Chart do begin FirstVisibleDate := '1/1/2001'; PaneWidth[False] := 0; LevelCount := 3; FirstWeekDay := EXG2ANTTLib_TLB.exMonday; Level[0].Label := 'Week: <%ww%>'; with Level[1] do begin Label := '<%dddd%>'; Alignment := EXG2ANTTLib_TLB.CenterAlignment; end; Level[2].Label := OleVariant(65536); NonworkingHours := 16773375; ShowNonworkingUnits := False; ShowNonworkingDates := False; ShowNonworkingHours := False; AllowInsideZoom := True; with DefaultInsideZoomFormat do begin InsideUnit := EXG2ANTTLib_TLB.exMinute; InsideLabel := '<b><%nn%></b>'; end; InsideZooms.Add('1/1/2001 10:00:00 AM'); end; EndUpdate(); end |
1028 |
Is there any option to find out if two bars intersects
with G2antt1 do begin BeginUpdate(); DefaultItemHeight := 22; Columns.Add('InterectBars'); with Chart do begin PaneWidth[False] := 48; FirstVisibleDate := '1/1/2001'; Bars.Item['Task'].OverlaidType := EXG2ANTTLib_TLB.exOverlaidBarsOffset; end; with Items do begin h := AddItem(''); AddBar(h,'Task','1/2/2001','1/4/2001','A','A'); AddBar(h,'Task','1/3/2001','1/5/2001','B','B'); CellValue[OleVariant(h),OleVariant(0)] := OleVariant(IntersectBars[h,'A',h,'B']); h := AddItem(''); AddBar(h,'Task','1/6/2001','1/9/2001','A','A'); AddBar(h,'Task','1/10/2001','1/13/2001','B','B'); CellValue[OleVariant(h),OleVariant(0)] := OleVariant(IntersectBars[h,'A',h,'B']); h := AddItem(''); AddBar(h,'Task','1/6/2001','1/9/2001','B','B'); AddBar(h,'Task','1/10/2001','1/13/2001','A','A'); CellValue[OleVariant(h),OleVariant(0)] := OleVariant(IntersectBars[h,'A',h,'B']); end; EndUpdate(); end |
1027 |
How can I find if a specified hour is a working or non-working hour, when using the ItemNonWorkingUnits
with G2antt1 do begin BeginUpdate(); (IUnknown(Columns.Add('Hour')) as EXG2ANTTLib_TLB.Column).FormatColumn := 'hour(value)'; (IUnknown(Columns.Add('Type')) as EXG2ANTTLib_TLB.Column).FormatColumn := 'value != 0 ? ''non-working'' : ''working'''; with Chart do begin FirstVisibleDate := '1/1/2001'; PaneWidth[False] := 164; FirstWeekDay := EXG2ANTTLib_TLB.exMonday; LevelCount := 2; UnitScale := EXG2ANTTLib_TLB.exHour; NonworkingHours := 1; end; with Items do begin h := AddItem('1/1/2001'); w := G2antt1.Chart.IsNonworkingDate[G2antt1.ItemsCellValue[OleVariant(h),OleVariant(0)],Null]; CellValue[OleVariant(h),OleVariant(1)] := OleVariant(w); h := AddItem('1/1/2001'); ItemNonworkingUnits[h,OleVariant(False)] := 'hour(value) >0 '; w := G2antt1.Chart.IsNonworkingDate[G2antt1.ItemsCellValue[OleVariant(h),OleVariant(0)],OleVariant(h)]; CellValue[OleVariant(h),OleVariant(1)] := OleVariant(w); end; EndUpdate(); end |
1026 |
How can I find if a specified hour is a working or non-working hour
with G2antt1 do begin BeginUpdate(); (IUnknown(Columns.Add('Hour')) as EXG2ANTTLib_TLB.Column).FormatColumn := 'hour(value)'; (IUnknown(Columns.Add('Type')) as EXG2ANTTLib_TLB.Column).FormatColumn := 'value != 0 ? ''non-working'' : ''working'''; with Chart do begin FirstVisibleDate := '1/1/2001'; PaneWidth[False] := 164; FirstWeekDay := EXG2ANTTLib_TLB.exMonday; LevelCount := 2; UnitScale := EXG2ANTTLib_TLB.exHour; NonworkingHours := 1; end; with Items do begin h := AddItem('1/1/2001'); w := G2antt1.Chart.IsNonworkingDate[G2antt1.ItemsCellValue[OleVariant(h),OleVariant(0)],Null]; CellValue[OleVariant(h),OleVariant(1)] := OleVariant(w); h := AddItem('1/1/2001 1:00:00 AM'); w := G2antt1.Chart.IsNonworkingDate[G2antt1.ItemsCellValue[OleVariant(h),OleVariant(0)],Null]; CellValue[OleVariant(h),OleVariant(1)] := OleVariant(w); end; EndUpdate(); end |
1025 |
How can I find if a specified date-time is a working or non-working unit, when using the ItemNonWorkingUnits
with G2antt1 do begin BeginUpdate(); (IUnknown(Columns.Add('Date')) as EXG2ANTTLib_TLB.Column).Width := 48; (IUnknown(Columns.Add('Type')) as EXG2ANTTLib_TLB.Column).FormatColumn := 'value != 0 ? ''non-working'' : ''working'''; with Chart do begin FirstVisibleDate := '1/1/2001'; PaneWidth[False] := 128; FirstWeekDay := EXG2ANTTLib_TLB.exMonday; LevelCount := 2; end; with Items do begin h := AddItem('1/1/2001'); w := G2antt1.Chart.IsNonworkingDate[G2antt1.ItemsCellValue[OleVariant(h),OleVariant(0)],Null]; CellValue[OleVariant(h),OleVariant(1)] := OleVariant(w); h := AddItem('1/1/2001'); ItemNonworkingUnits[h,OleVariant(False)] := 'weekday(value) in (1)'; w := G2antt1.Chart.IsNonworkingDate[G2antt1.ItemsCellValue[OleVariant(h),OleVariant(0)],OleVariant(h)]; CellValue[OleVariant(h),OleVariant(1)] := OleVariant(w); end; EndUpdate(); end |
1024 |
How can I find if a specified date-time is a working or non-working unit
with G2antt1 do begin BeginUpdate(); (IUnknown(Columns.Add('Date')) as EXG2ANTTLib_TLB.Column).Width := 48; (IUnknown(Columns.Add('Type')) as EXG2ANTTLib_TLB.Column).FormatColumn := 'value != 0 ? ''non-working'' : ''working'''; with Chart do begin FirstVisibleDate := '1/1/2001'; PaneWidth[False] := 128; FirstWeekDay := EXG2ANTTLib_TLB.exMonday; LevelCount := 2; end; with Items do begin h := AddItem('1/1/2001'); w := G2antt1.Chart.IsNonworkingDate[G2antt1.ItemsCellValue[OleVariant(h),OleVariant(0)],Null]; CellValue[OleVariant(h),OleVariant(1)] := OleVariant(w); h := AddItem('1/6/2001'); w := G2antt1.Chart.IsNonworkingDate[G2antt1.ItemsCellValue[OleVariant(h),OleVariant(0)],Null]; CellValue[OleVariant(h),OleVariant(1)] := OleVariant(w); end; EndUpdate(); end |
1023 |
When zooming to days, the non-working part of the chart occupies some not useful space. Can I reduce it
with G2antt1 do begin BeginUpdate(); with Chart do begin PaneWidth[False] := 48; FirstVisibleDate := '1/3/2002'; Bars.Add('Task:Split').Shortcut := 'Task'; LevelCount := 2; DrawGridLines := EXG2ANTTLib_TLB.exAllLines; FirstWeekDay := EXG2ANTTLib_TLB.exMonday; Level[0].Label := 'Week: <%ww%>'; with Level[1] do begin Label := '<%d%>/<%m2%>'; FormatLabel := 'weekday(dvalue) in (0,6) ? ''end'' : value'; end; UnitWidth := 32; UnitWidthNonworking := -32; end; Columns.Add('Task'); with Items do begin h := AddItem('Default'); AddBar(h,'Task','1/4/2002','1/8/2002','A',Null); end; EndUpdate(); end |
1022 |
My chart display only working hours, but when zooming to days, each day shows the non-working part of the day too, even if I use the ShowNonWorkingUnits property on False. What am I doing wrong
with G2antt1 do begin BeginUpdate(); with Chart do begin PaneWidth[False] := 48; FirstVisibleDate := '1/3/2002 10:00:00 AM'; Bars.Add('Task:Split').Shortcut := 'Task'; LevelCount := 2; DrawGridLines := EXG2ANTTLib_TLB.exAllLines; FirstWeekDay := EXG2ANTTLib_TLB.exMonday; Level[0].Label := '<%ww%>'; with Level[1] do begin Label := '<%dd%>'; Unit := EXG2ANTTLib_TLB.exHour; Count := 24; end; NonworkingHours := 16761855; ShowNonworkingUnits := False; ShowNonworkingHours := False; UnitWidth := 32; end; Columns.Add('Task'); with Items do begin h := AddItem('Default'); AddBar(h,'Task','1/4/2002 10:00:00 AM','1/8/2002 2:00:00 AM','A',Null); ItemBar[h,'A',EXG2ANTTLib_TLB.exBarKeepWorkingCount] := OleVariant(True); end; EndUpdate(); end |
1021 |
I need to display only working hours and weekend part, but for some items I need another non-working part. Is this possible
with G2antt1 do begin BeginUpdate(); with Chart do begin PaneWidth[False] := 48; FirstVisibleDate := '1/3/2002'; Bars.Add('Task:Split').Shortcut := 'Task'; LevelCount := 2; DrawGridLines := EXG2ANTTLib_TLB.exAllLines; with Level[0] do begin Label := '<%ddd%>'; FormatLabel := 'weekday(dvalue) in (0,6) ? '''' : value'; end; with Level[1] do begin Label := OleVariant(65536); FormatLabel := 'weekday(dvalue) in (0,6) ? ''end'' : value'; end; NonworkingHours := 16761855; ShowNonworkingUnits := False; ShowNonworkingHours := False; UnitWidthNonworking := -24; end; Columns.Add('Task'); with Items do begin h := AddItem('Default'); AddBar(h,'Task','1/4/2002','1/8/2002','A',Null); ItemBar[h,'A',EXG2ANTTLib_TLB.exBarKeepWorkingCount] := OleVariant(True); h := AddItem('Friday'); AddBar(h,'Task','1/3/2002','1/7/2002 12:00:00 PM','A',Null); ItemBar[h,'A',EXG2ANTTLib_TLB.exBarKeepWorkingCount] := OleVariant(True); ItemNonworkingUnits[h,OleVariant(False)] := 'weekday(value) in (0,6,5) or hour(value)<10 or hour(value)>=14'; h := AddItem('Till 13'); AddBar(h,'Task','1/4/2002','1/7/2002 12:00:00 PM','A',Null); ItemBar[h,'A',EXG2ANTTLib_TLB.exBarKeepWorkingCount] := OleVariant(True); ItemNonworkingUnits[h,OleVariant(False)] := 'weekday(value) in (0,6) or hour(value)<10 or hour(value)>=13'; end; EndUpdate(); end |
1020 |
I can display the working hours, but how can I hide the weekend or non-working part of the chart when using the ShowNonWorkingUnits property on False
with G2antt1 do begin with Chart do begin PaneWidth[False] := 0; FirstVisibleDate := '1/3/2002'; LevelCount := 2; Level[0].Label := '<%ddd%>'; Level[1].Label := OleVariant(65536); NonworkingHours := 16761855; ShowNonworkingUnits := False; ShowNonworkingDates := False; ShowNonworkingHours := False; end; end |
1019 |
How can I display only the working hours but uses less space for non-working part, such as weekend
with G2antt1 do begin with Chart do begin PaneWidth[False] := 0; FirstVisibleDate := '1/3/2002'; LevelCount := 2; with Level[0] do begin Label := '<%ddd%>'; FormatLabel := 'weekday(dvalue) in (0,6) ? '''' : value'; end; with Level[1] do begin Label := OleVariant(65536); FormatLabel := 'weekday(dvalue) in (0,6) ? ''end'' : value'; end; NonworkingHours := 16761855; ShowNonworkingUnits := False; ShowNonworkingHours := False; UnitWidthNonworking := -24; end; end |
1018 |
How can I display only the working hours but uses less space for non-working part, such as weekend
with G2antt1 do begin with Chart do begin PaneWidth[False] := 0; FirstVisibleDate := '1/3/2002'; LevelCount := 2; Level[0].Label := '<%ddd%>'; with Level[1] do begin Label := OleVariant(65536); FormatLabel := 'weekday(dvalue) in (0,6) ? '''' : value'; end; NonworkingHours := 16761855; ShowNonworkingUnits := False; ShowNonworkingHours := False; UnitWidthNonworking := 8; end; end |
1017 |
How can I display only the working hours
with G2antt1 do begin with Chart do begin PaneWidth[False] := 0; FirstVisibleDate := '1/3/2002'; LevelCount := 2; Level[0].Label := '<%ddd%>'; Level[1].Label := OleVariant(65536); NonworkingHours := 16761855; ShowNonworkingUnits := False; ShowNonworkingHours := False; end; end |
1016 |
How can I specify non-working hours
with G2antt1 do begin with Chart do begin PaneWidth[False] := 0; FirstVisibleDate := '1/3/2002'; LevelCount := 2; Level[0].Label := '<%ddd%>'; Level[1].Label := OleVariant(65536); NonworkingHours := 16761855; end; end |
1015 |
How can I display the working hours for a bar
with G2antt1 do begin BeginUpdate(); with Columns do begin Add('Tasks'); with (IUnknown(Add('Working')) as EXG2ANTTLib_TLB.Column) do begin Def[EXG2ANTTLib_TLB.exCellValueToItemBarProperty] := OleVariant(258); Def[EXG2ANTTLib_TLB.exCellValueToItemBarKey] := 'A'; FormatColumn := '(0:=round(value*24)) != 0 ? =:0 : '''''; end; end; Items.AllowCellValueToItemBar := True; with Chart do begin PaneWidth[False] := 96; Bars.Add('Task:Split').Shortcut := 'Task'; FirstVisibleDate := '1/3/2002'; LevelCount := 2; Level[0].Label := '<%ddd%>'; Level[1].Label := '<%hh%>'; NonworkingHours := 16761855; ShowNonworkingUnits := False; ShowNonworkingHours := False; end; with Items do begin h := AddItem('Task 1'); AddBar(h,'Task','1/4/2002','1/8/2002','A',Null); ItemBar[h,'A',EXG2ANTTLib_TLB.exBarKeepWorkingCount] := OleVariant(True); h := AddItem('Task 2'); AddBar(h,'Task','1/3/2002','1/4/2002','A',Null); ItemBar[h,'A',EXG2ANTTLib_TLB.exBarKeepWorkingCount] := OleVariant(True); end; EndUpdate(); end |
1014 |
Is it possible to show only working hours, showing a small part for the weekend days, and in the same time showing the bars by splitting the non-working part and keeping the working units for the bar while moving
with G2antt1 do begin BeginUpdate(); with Chart do begin Bars.Add('Task:Split').Shortcut := 'Task'; FirstVisibleDate := '1/3/2002'; DrawGridLines := EXG2ANTTLib_TLB.exAllLines; GridLineStyle := EXG2ANTTLib_TLB.exGridLinesGeometric; PaneWidth[False] := 0; LevelCount := 2; with Level[0] do begin Label := '<%ddd%>'; Alignment := EXG2ANTTLib_TLB.CenterAlignment; FormatLabel := 'weekday(dvalue) in (0,6) ? `` : value'; end; with Level[1] do begin Label := OleVariant(65536); DrawGridLines := True; FormatLabel := 'weekday(dvalue) in (0,6) ? `<font ;6>weekend</font>` : value'; end; NonworkingHours := 16761855; ShowNonworkingUnits := False; ShowNonworkingDates := True; ShowNonworkingHours := False; UnitWidthNonworking := -40; end; Columns.Add('Task'); with Items do begin h := AddItem('Task 1'); AddBar(h,'Task','1/4/2002','1/8/2002','A',Null); ItemBar[h,'A',EXG2ANTTLib_TLB.exBarKeepWorkingCount] := OleVariant(True); end; EndUpdate(); end |
1013 |
How can I show bars with different solid color but black border
with G2antt1 do begin BeginUpdate(); VisualAppearance.Add(1,'C:\Program Files\Exontrol\ExG2antt.NET\sample\EBN\blackbox.ebn'); Columns.Add('Task'); Chart.FirstVisibleDate := '1/1/2001'; with Chart.Bars.Item['Task'] do begin Color := $1000000; Height := 15; end; Chart.PaneWidth[False] := 0; with Items do begin h := AddItem('Task'); AddBar(h,'Task','1/2/2001','1/5/2001','',Null); ItemBar[h,'',EXG2ANTTLib_TLB.exBarColor] := OleVariant(65535); h := AddItem('Task'); AddBar(h,'Task','1/2/2001','1/5/2001','',Null); ItemBar[h,'',EXG2ANTTLib_TLB.exBarColor] := OleVariant(255); end; EndUpdate(); end |
1012 |
I want to display a vertical line for each week, while I still need a vertical separator for each day. Is this possible
with G2antt1 do begin GridLineColor := RGB(240,240,240); with Chart do begin PaneWidth[False] := 0; DrawGridLines := EXG2ANTTLib_TLB.exAllLines; NonworkingDays := 0; LevelCount := 2; with Level[0] do begin DrawGridLines := True; GridLineColor := $0; end; with Level[1] do begin DrawGridLines := True; GridLineColor := $f0f0f0; end; end; end |
1011 |
How can I display the levels as year, day, AM and PM for each day
with G2antt1 do begin with Chart do begin PaneWidth[False] := 0; FirstVisibleDate := '12/1/2009'; UnitWidth := 22; LevelCount := 3; Level[0].Label := '<%yyyy%>'; Level[1].Label := '<%mm%>/<%dd%>'; with Level[2] do begin Label := '<%AM/PM%>'; Count := 12; end; end; end |
1010 |
How can I change the pattern for a specified time unit, in the chart area
with G2antt1 do begin BeginUpdate(); with Chart do begin PaneWidth[False] := 0; LevelCount := 2; FirstVisibleDate := '1/1/2008'; AllowInsideZoom := True; AllowResizeInsideZoom := False; InsideZoomOnDblClick := False; with DefaultInsideZoomFormat do begin PatternChart := EXG2ANTTLib_TLB.exPatternBDiagonal; PatternColorChart := $ff; end; with InsideZooms do begin SplitBaseLevel := False; DefaultWidth := 18; Add('1/4/2008').AllowInsideFormat := False; end; end; EndUpdate(); end |
1009 |
How can I hide the non-working hours, but still display the non-working days with even less space
with G2antt1 do begin BeginUpdate(); with Chart do begin FirstVisibleDate := '11/19/2009'; DrawGridLines := EXG2ANTTLib_TLB.exAllLines; GridLineStyle := EXG2ANTTLib_TLB.exGridLinesGeometric; PaneWidth[False] := 0; LevelCount := 2; with Level[0] do begin Label := '<%dddd%>'; Alignment := EXG2ANTTLib_TLB.CenterAlignment; FormatLabel := 'weekday(dvalue) in (0,6) ? `` : value'; end; with Level[1] do begin Label := OleVariant(65536); DrawGridLines := True; FormatLabel := 'weekday(dvalue) in (0,6) ? `<font ;6>weekend</font>` : value'; end; NonworkingHours := 16761855; ShowNonworkingUnits := False; ShowNonworkingDates := True; ShowNonworkingHours := False; UnitWidth := 32; UnitWidthNonworking := -32; end; EndUpdate(); end |
1008 |
How can I hide the non-working hours, but still display the non-working days with less space
with G2antt1 do begin BeginUpdate(); with Chart do begin FirstVisibleDate := '11/19/2009'; DrawGridLines := EXG2ANTTLib_TLB.exAllLines; GridLineStyle := EXG2ANTTLib_TLB.exGridLinesGeometric; PaneWidth[False] := 0; LevelCount := 2; with Level[0] do begin Label := '<%dddd%>'; Alignment := EXG2ANTTLib_TLB.CenterAlignment; FormatLabel := 'weekday(dvalue) in (0,6) ? `<font ;6>` + value + `</font>` : value'; end; with Level[1] do begin Label := OleVariant(65536); DrawGridLines := True; FormatLabel := 'weekday(dvalue) in (0,6) ? `<font ;6>` + value + `</font>` : value'; end; NonworkingHours := 16761855; ShowNonworkingUnits := False; ShowNonworkingDates := True; ShowNonworkingHours := False; UnitWidth := 32; UnitWidthNonworking := 12; end; EndUpdate(); end |
1007 |
How can I hide the non-working hours, but still display the non-working days
with G2antt1 do begin BeginUpdate(); with Chart do begin FirstVisibleDate := '11/19/2009'; DrawGridLines := EXG2ANTTLib_TLB.exAllLines; GridLineStyle := EXG2ANTTLib_TLB.exGridLinesGeometric; PaneWidth[False] := 0; LevelCount := 2; with Level[0] do begin Label := '<%dddd%>'; Alignment := EXG2ANTTLib_TLB.CenterAlignment; end; with Level[1] do begin Label := OleVariant(65536); DrawGridLines := True; end; NonworkingHours := 16761855; ShowNonworkingUnits := False; ShowNonworkingDates := True; ShowNonworkingHours := False; end; EndUpdate(); end |
1006 |
How can I hide the non-working hours, and the non-working days
with G2antt1 do begin BeginUpdate(); with Chart do begin FirstVisibleDate := '11/19/2009'; DrawGridLines := EXG2ANTTLib_TLB.exAllLines; GridLineStyle := EXG2ANTTLib_TLB.exGridLinesGeometric; PaneWidth[False] := 0; LevelCount := 2; with Level[0] do begin Label := '<%dddd%>'; Alignment := EXG2ANTTLib_TLB.CenterAlignment; end; with Level[1] do begin Label := OleVariant(65536); DrawGridLines := True; end; NonworkingHours := 16761855; ShowNonworkingUnits := False; ShowNonworkingDates := False; ShowNonworkingHours := False; end; EndUpdate(); end |
1005 |
Can I highlights the non-working hours while my chart shows days
with G2antt1 do begin with Chart do begin PaneWidth[False] := 0; FirstVisibleDate := '1/1/2001'; UnitWidth := 48; LevelCount := 2; with Level[1] do begin Label := '<%d%>'; Unit := EXG2ANTTLib_TLB.exHour; Count := 24; end; NonworkingHours := 127; end; end |
1004 |
How can I reduce the space/area being occupied by non-working units days or hours (method 2)
with G2antt1 do begin BeginUpdate(); Columns.Add('Task'); with Chart do begin FirstWeekDay := EXG2ANTTLib_TLB.exMonday; LevelCount := 2; FirstVisibleDate := '1/1/2001'; PaneWidth[False] := 64; UnitWidthNonworking := -8; Level[1].FormatLabel := 'weekday(dvalue) in (0,6) ? ''.'' : value'; end; with Items do begin h := AddItem('Task 1'); AddBar(h,'Task','1/2/2001','1/4/2001','K1',Null); AddBar(h,'Task','1/5/2001','1/6/2001','K2',Null); AddBar(AddItem('Task 2'),'Task','1/2/2001','1/4/2001','K3',Null); AddBar(AddItem('Task 4'),'Task','1/2/2001','1/4/2001','K4',Null); ItemBar[h,'<*>',EXG2ANTTLib_TLB.exBarColor] := OleVariant(255); end; EndUpdate(); end |
1003 |
How can I reduce the space/area being occupied by non-working units days or hours (method 1)
with G2antt1 do begin BeginUpdate(); Columns.Add('Task'); with Chart do begin FirstWeekDay := EXG2ANTTLib_TLB.exMonday; LevelCount := 2; FirstVisibleDate := '1/1/2001'; PaneWidth[False] := 64; UnitWidthNonworking := 4; Level[1].FormatLabel := 'weekday(dvalue) in (0,6) ? '''' : value'; end; with Items do begin h := AddItem('Task 1'); AddBar(h,'Task','1/2/2001','1/4/2001','K1',Null); AddBar(h,'Task','1/5/2001','1/6/2001','K2',Null); AddBar(AddItem('Task 2'),'Task','1/2/2001','1/4/2001','K3',Null); AddBar(AddItem('Task 4'),'Task','1/2/2001','1/4/2001','K4',Null); ItemBar[h,'<*>',EXG2ANTTLib_TLB.exBarColor] := OleVariant(255); end; EndUpdate(); end |
1002 |
How can I hide the non-working units
with G2antt1 do begin BeginUpdate(); Columns.Add('Task'); with Chart do begin FirstWeekDay := EXG2ANTTLib_TLB.exMonday; LevelCount := 2; FirstVisibleDate := '1/1/2001'; PaneWidth[False] := 64; ShowNonworkingUnits := False; ShowNonworkingDates := False; DrawGridLines := EXG2ANTTLib_TLB.exVLines; Level[0].DrawGridLines := True; GridLineStyle := EXG2ANTTLib_TLB.exGridLinesGeometric; end; with Items do begin h := AddItem('Task 1'); AddBar(h,'Task','1/2/2001','1/4/2001','K1',Null); AddBar(h,'Task','1/5/2001','1/6/2001','K2',Null); AddBar(AddItem('Task 2'),'Task','1/2/2001','1/4/2001','K3',Null); AddBar(AddItem('Task 4'),'Task','1/2/2001','1/4/2001','K4',Null); ItemBar[h,'<*>',EXG2ANTTLib_TLB.exBarColor] := OleVariant(255); end; EndUpdate(); end |
1001 |
How can I determine that a certain bar is the topmost (zorder)
with G2antt1 do begin BeginUpdate(); Columns.Add('Task'); with Chart do begin PaneWidth[False] := 48; FirstVisibleDate := '12/27/2000'; Bars.Item['Task'].Pattern := EXG2ANTTLib_TLB.exPatternSolid; end; with Items do begin h := AddItem('B in front'); AddBar(h,'Task','1/2/2001','1/6/2001','A',Null); AddBar(h,'Task','1/3/2001','1/5/2001','B','<fgcolor=FF0000>B</fgcolor>'); ItemBar[h,'B',EXG2ANTTLib_TLB.exBarOffset] := OleVariant(-2); ItemBar[h,'B',EXG2ANTTLib_TLB.exBarHAlignCaption] := OleVariant(18); ItemBar[h,'B',EXG2ANTTLib_TLB.exBarColor] := OleVariant(255); h := AddItem('A in back'); AddBar(h,'Task','1/2/2001','1/6/2001','A','<fgcolor=FF0000>A</fgcolor>'); ItemBar[h,'A',EXG2ANTTLib_TLB.exBarOffset] := OleVariant(-2); ItemBar[h,'A',EXG2ANTTLib_TLB.exBarHAlignCaption] := OleVariant(18); ItemBar[h,'A',EXG2ANTTLib_TLB.exBarColor] := OleVariant(255); AddBar(h,'Task','1/3/2001','1/5/2001','B',Null); end; EndUpdate(); end |